diff --git a/provider/cmd/pulumi-resource-azure-native/schema.json b/provider/cmd/pulumi-resource-azure-native/schema.json
index 653e9377042f..8534b35103ef 100644
--- a/provider/cmd/pulumi-resource-azure-native/schema.json
+++ b/provider/cmd/pulumi-resource-azure-native/schema.json
@@ -589443,7 +589443,7 @@
]
},
"azure-native:machinelearningservices:LabelingJob": {
- "description": "Azure Resource Manager resource envelope.\nAzure REST API version: 2023-04-01-preview. Prior API version in Azure Native 1.x: 2020-09-01-preview.\n\nOther available API versions: 2020-09-01-preview, 2021-03-01-preview, 2023-06-01-preview, 2023-08-01-preview, 2024-01-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### CreateOrUpdate Labeling Job.\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var labelingJob = new AzureNative.MachineLearningServices.LabelingJob(\"labelingJob\", new()\n {\n Id = \"testLabelingJob\",\n LabelingJobProperties = new AzureNative.MachineLearningServices.Inputs.LabelingJobArgs\n {\n Description = \"string\",\n JobInstructions = new AzureNative.MachineLearningServices.Inputs.LabelingJobInstructionsArgs\n {\n Uri = \"link/to/instructions\",\n },\n JobType = \"Labeling\",\n LabelCategories = \n {\n { \"myCategory1\", new AzureNative.MachineLearningServices.Inputs.LabelCategoryArgs\n {\n Classes = \n {\n { \"myLabelClass1\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass1\",\n Subclasses = null,\n } },\n { \"myLabelClass2\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass2\",\n Subclasses = null,\n } },\n },\n DisplayName = \"myCategory1Title\",\n MultiSelect = AzureNative.MachineLearningServices.MultiSelect.Disabled,\n } },\n { \"myCategory2\", new AzureNative.MachineLearningServices.Inputs.LabelCategoryArgs\n {\n Classes = \n {\n { \"myLabelClass1\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass1\",\n Subclasses = null,\n } },\n { \"myLabelClass2\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass2\",\n Subclasses = null,\n } },\n },\n DisplayName = \"myCategory2Title\",\n MultiSelect = AzureNative.MachineLearningServices.MultiSelect.Disabled,\n } },\n },\n LabelingJobMediaProperties = new AzureNative.MachineLearningServices.Inputs.LabelingJobImagePropertiesArgs\n {\n MediaType = \"Image\",\n },\n MlAssistConfiguration = new AzureNative.MachineLearningServices.Inputs.MLAssistConfigurationEnabledArgs\n {\n InferencingComputeBinding = \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n MlAssist = \"Enabled\",\n TrainingComputeBinding = \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n Properties = \n {\n { \"additionalProp1\", \"string\" },\n { \"additionalProp2\", \"string\" },\n { \"additionalProp3\", \"string\" },\n },\n Tags = \n {\n { \"additionalProp1\", \"string\" },\n { \"additionalProp2\", \"string\" },\n { \"additionalProp3\", \"string\" },\n },\n },\n ResourceGroupName = \"workspace-1234\",\n WorkspaceName = \"testworkspace\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/machinelearningservices/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := machinelearningservices.NewLabelingJob(ctx, \"labelingJob\", \u0026machinelearningservices.LabelingJobArgs{\nId: pulumi.String(\"testLabelingJob\"),\nLabelingJobProperties: \u0026machinelearningservices.LabelingJobTypeArgs{\nDescription: pulumi.String(\"string\"),\nJobInstructions: \u0026machinelearningservices.LabelingJobInstructionsArgs{\nUri: pulumi.String(\"link/to/instructions\"),\n},\nJobType: pulumi.String(\"Labeling\"),\nLabelCategories: machinelearningservices.LabelCategoryMap{\n\"myCategory1\": \u0026machinelearningservices.LabelCategoryArgs{\nClasses: interface{}{\nMyLabelClass1: interface{}{\nDisplayName: pulumi.String(\"myLabelClass1\"),\nSubclasses: nil,\n},\nMyLabelClass2: interface{}{\nDisplayName: pulumi.String(\"myLabelClass2\"),\nSubclasses: nil,\n},\n},\nDisplayName: pulumi.String(\"myCategory1Title\"),\nMultiSelect: pulumi.String(machinelearningservices.MultiSelectDisabled),\n},\n\"myCategory2\": \u0026machinelearningservices.LabelCategoryArgs{\nClasses: machinelearningservices.LabelClassMap{\n\"myLabelClass1\": \u0026machinelearningservices.LabelClassArgs{\nDisplayName: pulumi.String(\"myLabelClass1\"),\nSubclasses: nil,\n},\n\"myLabelClass2\": \u0026machinelearningservices.LabelClassArgs{\nDisplayName: pulumi.String(\"myLabelClass2\"),\nSubclasses: nil,\n},\n},\nDisplayName: pulumi.String(\"myCategory2Title\"),\nMultiSelect: pulumi.String(machinelearningservices.MultiSelectDisabled),\n},\n},\nLabelingJobMediaProperties: machinelearningservices.LabelingJobImageProperties{\nMediaType: \"Image\",\n},\nMlAssistConfiguration: machinelearningservices.MLAssistConfigurationEnabled{\nInferencingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\nMlAssist: \"Enabled\",\nTrainingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n},\nProperties: pulumi.StringMap{\n\"additionalProp1\": pulumi.String(\"string\"),\n\"additionalProp2\": pulumi.String(\"string\"),\n\"additionalProp3\": pulumi.String(\"string\"),\n},\nTags: pulumi.StringMap{\n\"additionalProp1\": pulumi.String(\"string\"),\n\"additionalProp2\": pulumi.String(\"string\"),\n\"additionalProp3\": pulumi.String(\"string\"),\n},\n},\nResourceGroupName: pulumi.String(\"workspace-1234\"),\nWorkspaceName: pulumi.String(\"testworkspace\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.machinelearningservices.LabelingJob;\nimport com.pulumi.azurenative.machinelearningservices.LabelingJobArgs;\nimport com.pulumi.azurenative.machinelearningservices.inputs.LabelingJobArgs;\nimport com.pulumi.azurenative.machinelearningservices.inputs.LabelingJobInstructionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var labelingJob = new LabelingJob(\"labelingJob\", LabelingJobArgs.builder() \n .id(\"testLabelingJob\")\n .labelingJobProperties(LabelingJobArgs.builder()\n .description(\"string\")\n .jobInstructions(LabelingJobInstructionsArgs.builder()\n .uri(\"link/to/instructions\")\n .build())\n .jobType(\"Labeling\")\n .labelCategories(Map.ofEntries(\n Map.entry(\"myCategory1\", Map.ofEntries(\n Map.entry(\"classes\", Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", )\n )),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", )\n ))\n )),\n Map.entry(\"displayName\", \"myCategory1Title\"),\n Map.entry(\"multiSelect\", \"Disabled\")\n )),\n Map.entry(\"myCategory2\", Map.ofEntries(\n Map.entry(\"classes\", Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", )\n )),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", )\n ))\n )),\n Map.entry(\"displayName\", \"myCategory2Title\"),\n Map.entry(\"multiSelect\", \"Disabled\")\n ))\n ))\n .labelingJobMediaProperties(LabelingJobImagePropertiesArgs.builder()\n .mediaType(\"Image\")\n .build())\n .mlAssistConfiguration(MLAssistConfigurationEnabledArgs.builder()\n .inferencingComputeBinding(\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\")\n .mlAssist(\"Enabled\")\n .trainingComputeBinding(\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\")\n .build())\n .properties(Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n ))\n .tags(Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n ))\n .build())\n .resourceGroupName(\"workspace-1234\")\n .workspaceName(\"testworkspace\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst labelingJob = new azure_native.machinelearningservices.LabelingJob(\"labelingJob\", {\n id: \"testLabelingJob\",\n labelingJobProperties: {\n description: \"string\",\n jobInstructions: {\n uri: \"link/to/instructions\",\n },\n jobType: \"Labeling\",\n labelCategories: {\n myCategory1: {\n classes: {\n myLabelClass1: {\n displayName: \"myLabelClass1\",\n subclasses: {},\n },\n myLabelClass2: {\n displayName: \"myLabelClass2\",\n subclasses: {},\n },\n },\n displayName: \"myCategory1Title\",\n multiSelect: azure_native.machinelearningservices.MultiSelect.Disabled,\n },\n myCategory2: {\n classes: {\n myLabelClass1: {\n displayName: \"myLabelClass1\",\n subclasses: {},\n },\n myLabelClass2: {\n displayName: \"myLabelClass2\",\n subclasses: {},\n },\n },\n displayName: \"myCategory2Title\",\n multiSelect: azure_native.machinelearningservices.MultiSelect.Disabled,\n },\n },\n labelingJobMediaProperties: {\n mediaType: \"Image\",\n },\n mlAssistConfiguration: {\n inferencingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n mlAssist: \"Enabled\",\n trainingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n properties: {\n additionalProp1: \"string\",\n additionalProp2: \"string\",\n additionalProp3: \"string\",\n },\n tags: {\n additionalProp1: \"string\",\n additionalProp2: \"string\",\n additionalProp3: \"string\",\n },\n },\n resourceGroupName: \"workspace-1234\",\n workspaceName: \"testworkspace\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nlabeling_job = azure_native.machinelearningservices.LabelingJob(\"labelingJob\",\n id=\"testLabelingJob\",\n labeling_job_properties=azure_native.machinelearningservices.LabelingJobArgs(\n description=\"string\",\n job_instructions=azure_native.machinelearningservices.LabelingJobInstructionsArgs(\n uri=\"link/to/instructions\",\n ),\n job_type=\"Labeling\",\n label_categories={\n \"myCategory1\": azure_native.machinelearningservices.LabelCategoryArgs(\n classes={\n \"myLabelClass1\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass1\",\n subclasses={},\n ),\n \"myLabelClass2\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass2\",\n subclasses={},\n ),\n },\n display_name=\"myCategory1Title\",\n multi_select=azure_native.machinelearningservices.MultiSelect.DISABLED,\n ),\n \"myCategory2\": azure_native.machinelearningservices.LabelCategoryArgs(\n classes={\n \"myLabelClass1\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass1\",\n subclasses={},\n ),\n \"myLabelClass2\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass2\",\n subclasses={},\n ),\n },\n display_name=\"myCategory2Title\",\n multi_select=azure_native.machinelearningservices.MultiSelect.DISABLED,\n ),\n },\n labeling_job_media_properties=azure_native.machinelearningservices.LabelingJobImagePropertiesArgs(\n media_type=\"Image\",\n ),\n ml_assist_configuration=azure_native.machinelearningservices.MLAssistConfigurationEnabledArgs(\n inferencing_compute_binding=\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n ml_assist=\"Enabled\",\n training_compute_binding=\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n ),\n properties={\n \"additionalProp1\": \"string\",\n \"additionalProp2\": \"string\",\n \"additionalProp3\": \"string\",\n },\n tags={\n \"additionalProp1\": \"string\",\n \"additionalProp2\": \"string\",\n \"additionalProp3\": \"string\",\n },\n ),\n resource_group_name=\"workspace-1234\",\n workspace_name=\"testworkspace\")\n\n```\n\n```yaml\nresources:\n labelingJob:\n type: azure-native:machinelearningservices:LabelingJob\n properties:\n id: testLabelingJob\n labelingJobProperties:\n description: string\n jobInstructions:\n uri: link/to/instructions\n jobType: Labeling\n labelCategories:\n myCategory1:\n classes:\n myLabelClass1:\n displayName: myLabelClass1\n subclasses: {}\n myLabelClass2:\n displayName: myLabelClass2\n subclasses: {}\n displayName: myCategory1Title\n multiSelect: Disabled\n myCategory2:\n classes:\n myLabelClass1:\n displayName: myLabelClass1\n subclasses: {}\n myLabelClass2:\n displayName: myLabelClass2\n subclasses: {}\n displayName: myCategory2Title\n multiSelect: Disabled\n labelingJobMediaProperties:\n mediaType: Image\n mlAssistConfiguration:\n inferencingComputeBinding: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\n mlAssist: Enabled\n trainingComputeBinding: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\n properties:\n additionalProp1: string\n additionalProp2: string\n additionalProp3: string\n tags:\n additionalProp1: string\n additionalProp2: string\n additionalProp3: string\n resourceGroupName: workspace-1234\n workspaceName: testworkspace\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:machinelearningservices:LabelingJob testLabelingJob /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id} \n```\n",
+ "description": "Azure Resource Manager resource envelope.\nAzure REST API version: 2023-04-01-preview. Prior API version in Azure Native 1.x: 2020-09-01-preview.\n\nOther available API versions: 2020-09-01-preview, 2021-03-01-preview, 2023-06-01-preview, 2023-08-01-preview, 2024-01-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### CreateOrUpdate Labeling Job.\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var labelingJob = new AzureNative.MachineLearningServices.LabelingJob(\"labelingJob\", new()\n {\n Id = \"testLabelingJob\",\n LabelingJobProperties = new AzureNative.MachineLearningServices.Inputs.LabelingJobArgs\n {\n Description = \"string\",\n JobInstructions = new AzureNative.MachineLearningServices.Inputs.LabelingJobInstructionsArgs\n {\n Uri = \"link/to/instructions\",\n },\n JobType = \"Labeling\",\n LabelCategories = \n {\n { \"myCategory1\", new AzureNative.MachineLearningServices.Inputs.LabelCategoryArgs\n {\n Classes = \n {\n { \"myLabelClass1\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass1\",\n Subclasses = null,\n } },\n { \"myLabelClass2\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass2\",\n Subclasses = null,\n } },\n },\n DisplayName = \"myCategory1Title\",\n MultiSelect = AzureNative.MachineLearningServices.MultiSelect.Disabled,\n } },\n { \"myCategory2\", new AzureNative.MachineLearningServices.Inputs.LabelCategoryArgs\n {\n Classes = \n {\n { \"myLabelClass1\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass1\",\n Subclasses = null,\n } },\n { \"myLabelClass2\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass2\",\n Subclasses = null,\n } },\n },\n DisplayName = \"myCategory2Title\",\n MultiSelect = AzureNative.MachineLearningServices.MultiSelect.Disabled,\n } },\n },\n LabelingJobMediaProperties = new AzureNative.MachineLearningServices.Inputs.LabelingJobImagePropertiesArgs\n {\n MediaType = \"Image\",\n },\n MlAssistConfiguration = new AzureNative.MachineLearningServices.Inputs.MLAssistConfigurationEnabledArgs\n {\n InferencingComputeBinding = \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n MlAssist = \"Enabled\",\n TrainingComputeBinding = \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n Properties = \n {\n { \"additionalProp1\", \"string\" },\n { \"additionalProp2\", \"string\" },\n { \"additionalProp3\", \"string\" },\n },\n Tags = \n {\n { \"additionalProp1\", \"string\" },\n { \"additionalProp2\", \"string\" },\n { \"additionalProp3\", \"string\" },\n },\n },\n ResourceGroupName = \"workspace-1234\",\n WorkspaceName = \"testworkspace\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/machinelearningservices/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := machinelearningservices.NewLabelingJob(ctx, \"labelingJob\", \u0026machinelearningservices.LabelingJobArgs{\nId: pulumi.String(\"testLabelingJob\"),\nLabelingJobProperties: \u0026machinelearningservices.LabelingJobTypeArgs{\nDescription: pulumi.String(\"string\"),\nJobInstructions: \u0026machinelearningservices.LabelingJobInstructionsArgs{\nUri: pulumi.String(\"link/to/instructions\"),\n},\nJobType: pulumi.String(\"Labeling\"),\nLabelCategories: machinelearningservices.LabelCategoryMap{\n\"myCategory1\": \u0026machinelearningservices.LabelCategoryArgs{\nClasses: interface{}{\nMyLabelClass1: \u0026machinelearningservices.LabelClassArgs{\nDisplayName: pulumi.String(\"myLabelClass1\"),\nSubclasses: nil,\n},\nMyLabelClass2: \u0026machinelearningservices.LabelClassArgs{\nDisplayName: pulumi.String(\"myLabelClass2\"),\nSubclasses: nil,\n},\n},\nDisplayName: pulumi.String(\"myCategory1Title\"),\nMultiSelect: pulumi.String(machinelearningservices.MultiSelectDisabled),\n},\n\"myCategory2\": \u0026machinelearningservices.LabelCategoryArgs{\nClasses: interface{}{\nMyLabelClass1: \u0026machinelearningservices.LabelClassArgs{\nDisplayName: pulumi.String(\"myLabelClass1\"),\nSubclasses: nil,\n},\nMyLabelClass2: interface{}{\nDisplayName: pulumi.String(\"myLabelClass2\"),\nSubclasses: nil,\n},\n},\nDisplayName: pulumi.String(\"myCategory2Title\"),\nMultiSelect: pulumi.String(machinelearningservices.MultiSelectDisabled),\n},\n},\nLabelingJobMediaProperties: machinelearningservices.LabelingJobImageProperties{\nMediaType: \"Image\",\n},\nMlAssistConfiguration: machinelearningservices.MLAssistConfigurationEnabled{\nInferencingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\nMlAssist: \"Enabled\",\nTrainingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n},\nProperties: pulumi.StringMap{\n\"additionalProp1\": pulumi.String(\"string\"),\n\"additionalProp2\": pulumi.String(\"string\"),\n\"additionalProp3\": pulumi.String(\"string\"),\n},\nTags: pulumi.StringMap{\n\"additionalProp1\": pulumi.String(\"string\"),\n\"additionalProp2\": pulumi.String(\"string\"),\n\"additionalProp3\": pulumi.String(\"string\"),\n},\n},\nResourceGroupName: pulumi.String(\"workspace-1234\"),\nWorkspaceName: pulumi.String(\"testworkspace\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.machinelearningservices.LabelingJob;\nimport com.pulumi.azurenative.machinelearningservices.LabelingJobArgs;\nimport com.pulumi.azurenative.machinelearningservices.inputs.LabelingJobArgs;\nimport com.pulumi.azurenative.machinelearningservices.inputs.LabelingJobInstructionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var labelingJob = new LabelingJob(\"labelingJob\", LabelingJobArgs.builder() \n .id(\"testLabelingJob\")\n .labelingJobProperties(LabelingJobArgs.builder()\n .description(\"string\")\n .jobInstructions(LabelingJobInstructionsArgs.builder()\n .uri(\"link/to/instructions\")\n .build())\n .jobType(\"Labeling\")\n .labelCategories(Map.ofEntries(\n Map.entry(\"myCategory1\", Map.ofEntries(\n Map.entry(\"classes\", Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", )\n )),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", )\n ))\n )),\n Map.entry(\"displayName\", \"myCategory1Title\"),\n Map.entry(\"multiSelect\", \"Disabled\")\n )),\n Map.entry(\"myCategory2\", Map.ofEntries(\n Map.entry(\"classes\", Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", )\n )),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", )\n ))\n )),\n Map.entry(\"displayName\", \"myCategory2Title\"),\n Map.entry(\"multiSelect\", \"Disabled\")\n ))\n ))\n .labelingJobMediaProperties(LabelingJobImagePropertiesArgs.builder()\n .mediaType(\"Image\")\n .build())\n .mlAssistConfiguration(MLAssistConfigurationEnabledArgs.builder()\n .inferencingComputeBinding(\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\")\n .mlAssist(\"Enabled\")\n .trainingComputeBinding(\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\")\n .build())\n .properties(Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n ))\n .tags(Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n ))\n .build())\n .resourceGroupName(\"workspace-1234\")\n .workspaceName(\"testworkspace\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst labelingJob = new azure_native.machinelearningservices.LabelingJob(\"labelingJob\", {\n id: \"testLabelingJob\",\n labelingJobProperties: {\n description: \"string\",\n jobInstructions: {\n uri: \"link/to/instructions\",\n },\n jobType: \"Labeling\",\n labelCategories: {\n myCategory1: {\n classes: {\n myLabelClass1: {\n displayName: \"myLabelClass1\",\n subclasses: {},\n },\n myLabelClass2: {\n displayName: \"myLabelClass2\",\n subclasses: {},\n },\n },\n displayName: \"myCategory1Title\",\n multiSelect: azure_native.machinelearningservices.MultiSelect.Disabled,\n },\n myCategory2: {\n classes: {\n myLabelClass1: {\n displayName: \"myLabelClass1\",\n subclasses: {},\n },\n myLabelClass2: {\n displayName: \"myLabelClass2\",\n subclasses: {},\n },\n },\n displayName: \"myCategory2Title\",\n multiSelect: azure_native.machinelearningservices.MultiSelect.Disabled,\n },\n },\n labelingJobMediaProperties: {\n mediaType: \"Image\",\n },\n mlAssistConfiguration: {\n inferencingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n mlAssist: \"Enabled\",\n trainingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n properties: {\n additionalProp1: \"string\",\n additionalProp2: \"string\",\n additionalProp3: \"string\",\n },\n tags: {\n additionalProp1: \"string\",\n additionalProp2: \"string\",\n additionalProp3: \"string\",\n },\n },\n resourceGroupName: \"workspace-1234\",\n workspaceName: \"testworkspace\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nlabeling_job = azure_native.machinelearningservices.LabelingJob(\"labelingJob\",\n id=\"testLabelingJob\",\n labeling_job_properties=azure_native.machinelearningservices.LabelingJobArgs(\n description=\"string\",\n job_instructions=azure_native.machinelearningservices.LabelingJobInstructionsArgs(\n uri=\"link/to/instructions\",\n ),\n job_type=\"Labeling\",\n label_categories={\n \"myCategory1\": azure_native.machinelearningservices.LabelCategoryArgs(\n classes={\n \"myLabelClass1\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass1\",\n subclasses={},\n ),\n \"myLabelClass2\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass2\",\n subclasses={},\n ),\n },\n display_name=\"myCategory1Title\",\n multi_select=azure_native.machinelearningservices.MultiSelect.DISABLED,\n ),\n \"myCategory2\": azure_native.machinelearningservices.LabelCategoryArgs(\n classes={\n \"myLabelClass1\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass1\",\n subclasses={},\n ),\n \"myLabelClass2\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass2\",\n subclasses={},\n ),\n },\n display_name=\"myCategory2Title\",\n multi_select=azure_native.machinelearningservices.MultiSelect.DISABLED,\n ),\n },\n labeling_job_media_properties=azure_native.machinelearningservices.LabelingJobImagePropertiesArgs(\n media_type=\"Image\",\n ),\n ml_assist_configuration=azure_native.machinelearningservices.MLAssistConfigurationEnabledArgs(\n inferencing_compute_binding=\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n ml_assist=\"Enabled\",\n training_compute_binding=\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n ),\n properties={\n \"additionalProp1\": \"string\",\n \"additionalProp2\": \"string\",\n \"additionalProp3\": \"string\",\n },\n tags={\n \"additionalProp1\": \"string\",\n \"additionalProp2\": \"string\",\n \"additionalProp3\": \"string\",\n },\n ),\n resource_group_name=\"workspace-1234\",\n workspace_name=\"testworkspace\")\n\n```\n\n```yaml\nresources:\n labelingJob:\n type: azure-native:machinelearningservices:LabelingJob\n properties:\n id: testLabelingJob\n labelingJobProperties:\n description: string\n jobInstructions:\n uri: link/to/instructions\n jobType: Labeling\n labelCategories:\n myCategory1:\n classes:\n myLabelClass1:\n displayName: myLabelClass1\n subclasses: {}\n myLabelClass2:\n displayName: myLabelClass2\n subclasses: {}\n displayName: myCategory1Title\n multiSelect: Disabled\n myCategory2:\n classes:\n myLabelClass1:\n displayName: myLabelClass1\n subclasses: {}\n myLabelClass2:\n displayName: myLabelClass2\n subclasses: {}\n displayName: myCategory2Title\n multiSelect: Disabled\n labelingJobMediaProperties:\n mediaType: Image\n mlAssistConfiguration:\n inferencingComputeBinding: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\n mlAssist: Enabled\n trainingComputeBinding: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\n properties:\n additionalProp1: string\n additionalProp2: string\n additionalProp3: string\n tags:\n additionalProp1: string\n additionalProp2: string\n additionalProp3: string\n resourceGroupName: workspace-1234\n workspaceName: testworkspace\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:machinelearningservices:LabelingJob testLabelingJob /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id} \n```\n",
"properties": {
"labelingJobProperties": {
"type": "object",
@@ -619173,7 +619173,7 @@
]
},
"azure-native:network:LoadBalancer": {
- "description": "LoadBalancer resource.\nAzure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01.\n\nOther available API versions: 2015-05-01-preview, 2018-06-01, 2019-06-01, 2019-08-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create load balancer\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n EnableTcpReset = false,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n EnableTcpReset = false,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n Location = \"eastus\",\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{\n\t\t\t\t\u0026network.InboundNatRuleTypeArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tEnableTcpReset: pulumi.Bool(false),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tEnableTcpReset: pulumi.Bool(false),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .name(\"be-lb\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .build())\n .inboundNatPools()\n .inboundNatRules(InboundNatRuleArgs.builder()\n .backendPort(3389)\n .enableFloatingIP(true)\n .enableTcpReset(false)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(3389)\n .idleTimeoutInMinutes(15)\n .name(\"in-nat-rule\")\n .protocol(\"Tcp\")\n .build())\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(80)\n .enableFloatingIP(true)\n .enableTcpReset(false)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(80)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"Tcp\")\n .build())\n .location(\"eastus\")\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n enableTcpReset: false,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n enableTcpReset: false,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n location: \"eastus\",\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n )],\n inbound_nat_pools=[],\n inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(\n backend_port=3389,\n enable_floating_ip=True,\n enable_tcp_reset=False,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=3389,\n idle_timeout_in_minutes=15,\n name=\"in-nat-rule\",\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n backend_port=80,\n enable_floating_ip=True,\n enable_tcp_reset=False,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=80,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n location=\"eastus\",\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\")\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n enableTcpReset: false\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n enableTcpReset: false\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Frontend IP in Zone 1\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n Zones = new[]\n {\n \"1\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = AzureNative.Network.LoadBalancerSkuName.Standard,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t\tZones: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{\n\t\t\t\t\u0026network.InboundNatRuleTypeArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(network.LoadBalancerSkuNameStandard),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .name(\"be-lb\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .zones(\"1\")\n .build())\n .inboundNatPools()\n .inboundNatRules(InboundNatRuleArgs.builder()\n .backendPort(3389)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(3389)\n .idleTimeoutInMinutes(15)\n .name(\"in-nat-rule\")\n .protocol(\"Tcp\")\n .build())\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(80)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(80)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"Tcp\")\n .build())\n .location(\"eastus\")\n .outboundRules()\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Standard\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n zones: [\"1\"],\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: azure_native.network.LoadBalancerSkuName.Standard,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n zones=[\"1\"],\n )],\n inbound_nat_pools=[],\n inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(\n backend_port=3389,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=3389,\n idle_timeout_in_minutes=15,\n name=\"in-nat-rule\",\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n backend_port=80,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=80,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=azure_native.network.LoadBalancerSkuName.STANDARD,\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n zones:\n - '1'\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Gateway Load Balancer Consumer configured\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n GatewayLoadBalancer = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n },\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = AzureNative.Network.LoadBalancerSkuName.Standard,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tGatewayLoadBalancer: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{\n\t\t\t\t\u0026network.InboundNatRuleTypeArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(network.LoadBalancerSkuNameStandard),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .name(\"be-lb\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .gatewayLoadBalancer(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\")\n .build())\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .build())\n .inboundNatPools()\n .inboundNatRules(InboundNatRuleArgs.builder()\n .backendPort(3389)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(3389)\n .idleTimeoutInMinutes(15)\n .name(\"in-nat-rule\")\n .protocol(\"Tcp\")\n .build())\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(80)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(80)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"Tcp\")\n .build())\n .location(\"eastus\")\n .outboundRules()\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Standard\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n gatewayLoadBalancer: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n },\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: azure_native.network.LoadBalancerSkuName.Standard,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n gateway_load_balancer=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n ),\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n )],\n inbound_nat_pools=[],\n inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(\n backend_port=3389,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=3389,\n idle_timeout_in_minutes=15,\n name=\"in-nat-rule\",\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n backend_port=80,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=80,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=azure_native.network.LoadBalancerSkuName.STANDARD,\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - gatewayLoadBalancer:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\n name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Gateway Load Balancer Provider configured with one Backend Pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n TunnelInterfaces = new[]\n {\n new AzureNative.Network.Inputs.GatewayLoadBalancerTunnelInterfaceArgs\n {\n Identifier = 900,\n Port = 15000,\n Protocol = AzureNative.Network.GatewayLoadBalancerTunnelProtocol.VXLAN,\n Type = AzureNative.Network.GatewayLoadBalancerTunnelInterfaceType.Internal,\n },\n new AzureNative.Network.Inputs.GatewayLoadBalancerTunnelInterfaceArgs\n {\n Identifier = 901,\n Port = 15001,\n Protocol = AzureNative.Network.GatewayLoadBalancerTunnelProtocol.VXLAN,\n Type = AzureNative.Network.GatewayLoadBalancerTunnelInterfaceType.Internal,\n },\n },\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n },\n BackendPort = 0,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 0,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.All,\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Premium\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t\tTunnelInterfaces: network.GatewayLoadBalancerTunnelInterfaceArray{\n\t\t\t\t\t\t\u0026network.GatewayLoadBalancerTunnelInterfaceArgs{\n\t\t\t\t\t\t\tIdentifier: pulumi.Int(900),\n\t\t\t\t\t\t\tPort: pulumi.Int(15000),\n\t\t\t\t\t\t\tProtocol: pulumi.String(network.GatewayLoadBalancerTunnelProtocolVXLAN),\n\t\t\t\t\t\t\tType: pulumi.String(network.GatewayLoadBalancerTunnelInterfaceTypeInternal),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026network.GatewayLoadBalancerTunnelInterfaceArgs{\n\t\t\t\t\t\t\tIdentifier: pulumi.Int(901),\n\t\t\t\t\t\t\tPort: pulumi.Int(15001),\n\t\t\t\t\t\t\tProtocol: pulumi.String(network.GatewayLoadBalancerTunnelProtocolVXLAN),\n\t\t\t\t\t\t\tType: pulumi.String(network.GatewayLoadBalancerTunnelInterfaceTypeInternal),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPools: network.SubResourceArray{\n\t\t\t\t\t\t\u0026network.SubResourceArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(0),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(0),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolAll),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .name(\"be-lb\")\n .tunnelInterfaces( \n GatewayLoadBalancerTunnelInterfaceArgs.builder()\n .identifier(900)\n .port(15000)\n .protocol(\"VXLAN\")\n .type(\"Internal\")\n .build(),\n GatewayLoadBalancerTunnelInterfaceArgs.builder()\n .identifier(901)\n .port(15001)\n .protocol(\"VXLAN\")\n .type(\"Internal\")\n .build())\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .build())\n .inboundNatPools()\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPools(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(0)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(0)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"All\")\n .build())\n .location(\"eastus\")\n .outboundRules()\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Premium\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n tunnelInterfaces: [\n {\n identifier: 900,\n port: 15000,\n protocol: azure_native.network.GatewayLoadBalancerTunnelProtocol.VXLAN,\n type: azure_native.network.GatewayLoadBalancerTunnelInterfaceType.Internal,\n },\n {\n identifier: 901,\n port: 15001,\n protocol: azure_native.network.GatewayLoadBalancerTunnelProtocol.VXLAN,\n type: azure_native.network.GatewayLoadBalancerTunnelInterfaceType.Internal,\n },\n ],\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPools: [{\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n }],\n backendPort: 0,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 0,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.All,\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Premium\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n tunnel_interfaces=[\n azure_native.network.GatewayLoadBalancerTunnelInterfaceArgs(\n identifier=900,\n port=15000,\n protocol=azure_native.network.GatewayLoadBalancerTunnelProtocol.VXLAN,\n type=azure_native.network.GatewayLoadBalancerTunnelInterfaceType.INTERNAL,\n ),\n azure_native.network.GatewayLoadBalancerTunnelInterfaceArgs(\n identifier=901,\n port=15001,\n protocol=azure_native.network.GatewayLoadBalancerTunnelProtocol.VXLAN,\n type=azure_native.network.GatewayLoadBalancerTunnelInterfaceType.INTERNAL,\n ),\n ],\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n )],\n inbound_nat_pools=[],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pools=[azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n )],\n backend_port=0,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=0,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.ALL,\n )],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Premium\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n tunnelInterfaces:\n - identifier: 900\n port: 15000\n protocol: VXLAN\n type: Internal\n - identifier: 901\n port: 15001\n protocol: VXLAN\n type: Internal\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPools:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 0\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 0\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: All\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Premium\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Gateway Load Balancer Provider configured with two Backend Pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb1\",\n },\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb2\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = null,\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\",\n },\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\",\n },\n },\n BackendPort = 0,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 0,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.All,\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Premium\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb1\"),\n\t\t\t\t},\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: nil,\n\t\t\t\t\tBackendAddressPools: network.SubResourceArray{\n\t\t\t\t\t\t\u0026network.SubResourceArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026network.SubResourceArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(0),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(0),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolAll),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools( \n BackendAddressPoolArgs.builder()\n .name(\"be-lb1\")\n .build(),\n BackendAddressPoolArgs.builder()\n .name(\"be-lb2\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .build())\n .inboundNatPools()\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool()\n .backendAddressPools( \n SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\")\n .build(),\n SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\")\n .build())\n .backendPort(0)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(0)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"All\")\n .build())\n .location(\"eastus\")\n .outboundRules()\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Premium\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [\n {\n name: \"be-lb1\",\n },\n {\n name: \"be-lb2\",\n },\n ],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {},\n backendAddressPools: [\n {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\",\n },\n {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\",\n },\n ],\n backendPort: 0,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 0,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.All,\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Premium\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[\n azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb1\",\n ),\n azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb2\",\n ),\n ],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n )],\n inbound_nat_pools=[],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(),\n backend_address_pools=[\n azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\",\n ),\n azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\",\n ),\n ],\n backend_port=0,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=0,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.ALL,\n )],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Premium\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb1\n - name: be-lb2\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool: {}\n backendAddressPools:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\n backendPort: 0\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 0\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: All\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Premium\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Global Tier and one regional load balancer in its backend pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n LoadBalancerBackendAddresses = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancerBackendAddressArgs\n {\n LoadBalancerFrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\",\n },\n Name = \"regional-lb1-address\",\n },\n },\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = false,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n Location = \"eastus\",\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = AzureNative.Network.LoadBalancerSkuName.Standard,\n Tier = AzureNative.Network.LoadBalancerSkuTier.Global,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tLoadBalancerBackendAddresses: network.LoadBalancerBackendAddressArray{\n\t\t\t\t\t\t\u0026network.LoadBalancerBackendAddressArgs{\n\t\t\t\t\t\t\tLoadBalancerFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"regional-lb1-address\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(false),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(network.LoadBalancerSkuNameStandard),\n\t\t\t\tTier: pulumi.String(network.LoadBalancerSkuTierGlobal),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .loadBalancerBackendAddresses(LoadBalancerBackendAddressArgs.builder()\n .loadBalancerFrontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\")\n .build())\n .name(\"regional-lb1-address\")\n .build())\n .name(\"be-lb\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .build())\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(80)\n .enableFloatingIP(false)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(80)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"Tcp\")\n .build())\n .location(\"eastus\")\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Standard\")\n .tier(\"Global\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n loadBalancerBackendAddresses: [{\n loadBalancerFrontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\",\n },\n name: \"regional-lb1-address\",\n }],\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: false,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n location: \"eastus\",\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: azure_native.network.LoadBalancerSkuName.Standard,\n tier: azure_native.network.LoadBalancerSkuTier.Global,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n load_balancer_backend_addresses=[azure_native.network.LoadBalancerBackendAddressArgs(\n load_balancer_frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\",\n ),\n name=\"regional-lb1-address\",\n )],\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n )],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n backend_port=80,\n enable_floating_ip=False,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=80,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n location=\"eastus\",\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=azure_native.network.LoadBalancerSkuName.STANDARD,\n tier=azure_native.network.LoadBalancerSkuTier.GLOBAL_,\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - loadBalancerBackendAddresses:\n - loadBalancerFrontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\n name: regional-lb1-address\n name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: false\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n tier: Global\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Standard SKU\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = AzureNative.Network.LoadBalancerSkuName.Standard,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{\n\t\t\t\t\u0026network.InboundNatRuleTypeArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(network.LoadBalancerSkuNameStandard),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .name(\"be-lb\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .build())\n .inboundNatPools()\n .inboundNatRules(InboundNatRuleArgs.builder()\n .backendPort(3389)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(3389)\n .idleTimeoutInMinutes(15)\n .name(\"in-nat-rule\")\n .protocol(\"Tcp\")\n .build())\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(80)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(80)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"Tcp\")\n .build())\n .location(\"eastus\")\n .outboundRules()\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Standard\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: azure_native.network.LoadBalancerSkuName.Standard,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n )],\n inbound_nat_pools=[],\n inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(\n backend_port=3389,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=3389,\n idle_timeout_in_minutes=15,\n name=\"in-nat-rule\",\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n backend_port=80,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=80,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=azure_native.network.LoadBalancerSkuName.STANDARD,\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with inbound nat pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[] {},\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n Name = \"test\",\n PrivateIPAllocationMethod = AzureNative.Network.IPAllocationMethod.Dynamic,\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\",\n },\n Zones = new() { },\n },\n },\n InboundNatPools = new[]\n {\n new AzureNative.Network.Inputs.InboundNatPoolArgs\n {\n BackendPort = 8888,\n EnableFloatingIP = true,\n EnableTcpReset = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n },\n FrontendPortRangeEnd = 8085,\n FrontendPortRangeStart = 8080,\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\",\n IdleTimeoutInMinutes = 10,\n Name = \"test\",\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n InboundNatRules = new[] {},\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[] {},\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[] {},\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = AzureNative.Network.LoadBalancerSkuName.Standard,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\"),\n\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\tPrivateIPAllocationMethod: pulumi.String(network.IPAllocationMethodDynamic),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\"),\n\t\t\t\t\t},\n\t\t\t\t\tZones: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{\n\t\t\t\t\u0026network.InboundNatPoolArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(8888),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tEnableTcpReset: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPortRangeEnd: pulumi.Int(8085),\n\t\t\t\t\tFrontendPortRangeStart: pulumi.Int(8080),\n\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\"),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(10),\n\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(network.LoadBalancerSkuNameStandard),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.InboundNatPoolArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools()\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\")\n .name(\"test\")\n .privateIPAllocationMethod(\"Dynamic\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\")\n .build())\n .zones()\n .build())\n .inboundNatPools(InboundNatPoolArgs.builder()\n .backendPort(8888)\n .enableFloatingIP(true)\n .enableTcpReset(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\")\n .build())\n .frontendPortRangeEnd(8085)\n .frontendPortRangeStart(8080)\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\")\n .idleTimeoutInMinutes(10)\n .name(\"test\")\n .protocol(\"Tcp\")\n .build())\n .inboundNatRules()\n .loadBalancerName(\"lb\")\n .loadBalancingRules()\n .location(\"eastus\")\n .outboundRules()\n .probes()\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Standard\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [],\n frontendIPConfigurations: [{\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n name: \"test\",\n privateIPAllocationMethod: azure_native.network.IPAllocationMethod.Dynamic,\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\",\n },\n zones: [],\n }],\n inboundNatPools: [{\n backendPort: 8888,\n enableFloatingIP: true,\n enableTcpReset: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n },\n frontendPortRangeEnd: 8085,\n frontendPortRangeStart: 8080,\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\",\n idleTimeoutInMinutes: 10,\n name: \"test\",\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n inboundNatRules: [],\n loadBalancerName: \"lb\",\n loadBalancingRules: [],\n location: \"eastus\",\n outboundRules: [],\n probes: [],\n resourceGroupName: \"rg1\",\n sku: {\n name: azure_native.network.LoadBalancerSkuName.Standard,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n name=\"test\",\n private_ip_allocation_method=azure_native.network.IPAllocationMethod.DYNAMIC,\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\",\n ),\n zones=[],\n )],\n inbound_nat_pools=[azure_native.network.InboundNatPoolArgs(\n backend_port=8888,\n enable_floating_ip=True,\n enable_tcp_reset=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n ),\n frontend_port_range_end=8085,\n frontend_port_range_start=8080,\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\",\n idle_timeout_in_minutes=10,\n name=\"test\",\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n inbound_nat_rules=[],\n load_balancer_name=\"lb\",\n load_balancing_rules=[],\n location=\"eastus\",\n outbound_rules=[],\n probes=[],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=azure_native.network.LoadBalancerSkuName.STANDARD,\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools: []\n frontendIPConfigurations:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\n name: test\n privateIPAllocationMethod: Dynamic\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\n zones: []\n inboundNatPools:\n - backendPort: 8888\n enableFloatingIP: true\n enableTcpReset: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\n frontendPortRangeEnd: 8085\n frontendPortRangeStart: 8080\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\n idleTimeoutInMinutes: 10\n name: test\n protocol: Tcp\n inboundNatRules: []\n loadBalancerName: lb\n loadBalancingRules: []\n location: eastus\n outboundRules: []\n probes: []\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with outbound rules\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n PublicIPAddress = new AzureNative.Network.Inputs.PublicIPAddressArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n DisableOutboundSnat = true,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n Location = \"eastus\",\n OutboundRules = new[]\n {\n new AzureNative.Network.Inputs.OutboundRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n },\n Name = \"rule1\",\n Protocol = AzureNative.Network.LoadBalancerOutboundRuleProtocol.All,\n },\n },\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = AzureNative.Network.LoadBalancerSkuName.Standard,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\nBackendAddressPools: network.BackendAddressPoolArray{\n\u0026network.BackendAddressPoolArgs{\nName: pulumi.String(\"be-lb\"),\n},\n},\nFrontendIPConfigurations: network.FrontendIPConfigurationArray{\ninterface{}{\nName: pulumi.String(\"fe-lb\"),\nPublicIPAddress: \u0026network.PublicIPAddressTypeArgs{\nId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\"),\n},\n},\n},\nInboundNatPools: network.InboundNatPoolArray{\n},\nInboundNatRules: network.InboundNatRuleTypeArray{\n\u0026network.InboundNatRuleTypeArgs{\nBackendPort: pulumi.Int(3389),\nEnableFloatingIP: pulumi.Bool(true),\nFrontendIPConfiguration: \u0026network.SubResourceArgs{\nId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n},\nFrontendPort: pulumi.Int(3389),\nIdleTimeoutInMinutes: pulumi.Int(15),\nName: pulumi.String(\"in-nat-rule\"),\nProtocol: pulumi.String(network.TransportProtocolTcp),\n},\n},\nLoadBalancerName: pulumi.String(\"lb\"),\nLoadBalancingRules: network.LoadBalancingRuleArray{\n\u0026network.LoadBalancingRuleArgs{\nBackendAddressPool: \u0026network.SubResourceArgs{\nId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n},\nBackendPort: pulumi.Int(80),\nDisableOutboundSnat: pulumi.Bool(true),\nEnableFloatingIP: pulumi.Bool(true),\nFrontendIPConfiguration: \u0026network.SubResourceArgs{\nId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n},\nFrontendPort: pulumi.Int(80),\nIdleTimeoutInMinutes: pulumi.Int(15),\nLoadDistribution: pulumi.String(network.LoadDistributionDefault),\nName: pulumi.String(\"rulelb\"),\nProbe: \u0026network.SubResourceArgs{\nId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n},\nProtocol: pulumi.String(network.TransportProtocolTcp),\n},\n},\nLocation: pulumi.String(\"eastus\"),\nOutboundRules: network.OutboundRuleArray{\n\u0026network.OutboundRuleArgs{\nBackendAddressPool: \u0026network.SubResourceArgs{\nId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n},\nFrontendIPConfigurations: network.SubResourceArray{\n\u0026network.SubResourceArgs{\nId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n},\n},\nName: pulumi.String(\"rule1\"),\nProtocol: pulumi.String(network.LoadBalancerOutboundRuleProtocolAll),\n},\n},\nProbes: network.ProbeArray{\n\u0026network.ProbeArgs{\nIntervalInSeconds: pulumi.Int(15),\nName: pulumi.String(\"probe-lb\"),\nNumberOfProbes: pulumi.Int(2),\nPort: pulumi.Int(80),\nProbeThreshold: pulumi.Int(1),\nProtocol: pulumi.String(network.ProbeProtocolHttp),\nRequestPath: pulumi.String(\"healthcheck.aspx\"),\n},\n},\nResourceGroupName: pulumi.String(\"rg1\"),\nSku: \u0026network.LoadBalancerSkuArgs{\nName: pulumi.String(network.LoadBalancerSkuNameStandard),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.PublicIPAddressArgs;\nimport com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.OutboundRuleArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .name(\"be-lb\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .publicIPAddress(PublicIPAddressArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\")\n .build())\n .build())\n .inboundNatPools()\n .inboundNatRules(InboundNatRuleArgs.builder()\n .backendPort(3389)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(3389)\n .idleTimeoutInMinutes(15)\n .name(\"in-nat-rule\")\n .protocol(\"Tcp\")\n .build())\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(80)\n .disableOutboundSnat(true)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(80)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"Tcp\")\n .build())\n .location(\"eastus\")\n .outboundRules(OutboundRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .frontendIPConfigurations(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .name(\"rule1\")\n .protocol(\"All\")\n .build())\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Standard\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n publicIPAddress: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n disableOutboundSnat: true,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n location: \"eastus\",\n outboundRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n frontendIPConfigurations: [{\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n }],\n name: \"rule1\",\n protocol: azure_native.network.LoadBalancerOutboundRuleProtocol.All,\n }],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: azure_native.network.LoadBalancerSkuName.Standard,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n public_ip_address=azure_native.network.PublicIPAddressArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\",\n ),\n )],\n inbound_nat_pools=[],\n inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(\n backend_port=3389,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=3389,\n idle_timeout_in_minutes=15,\n name=\"in-nat-rule\",\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n backend_port=80,\n disable_outbound_snat=True,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=80,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n location=\"eastus\",\n outbound_rules=[azure_native.network.OutboundRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n frontend_ip_configurations=[azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n )],\n name=\"rule1\",\n protocol=azure_native.network.LoadBalancerOutboundRuleProtocol.ALL,\n )],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=azure_native.network.LoadBalancerSkuName.STANDARD,\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n publicIPAddress:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n disableOutboundSnat: true\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n frontendIPConfigurations:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n name: rule1\n protocol: All\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:network:LoadBalancer lb /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} \n```\n",
+ "description": "LoadBalancer resource.\nAzure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01.\n\nOther available API versions: 2015-05-01-preview, 2018-06-01, 2019-06-01, 2019-08-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create load balancer\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n EnableTcpReset = false,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n EnableTcpReset = false,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n Location = \"eastus\",\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{\n\t\t\t\t\u0026network.InboundNatRuleTypeArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tEnableTcpReset: pulumi.Bool(false),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tEnableTcpReset: pulumi.Bool(false),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .name(\"be-lb\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .build())\n .inboundNatPools()\n .inboundNatRules(InboundNatRuleArgs.builder()\n .backendPort(3389)\n .enableFloatingIP(true)\n .enableTcpReset(false)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(3389)\n .idleTimeoutInMinutes(15)\n .name(\"in-nat-rule\")\n .protocol(\"Tcp\")\n .build())\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(80)\n .enableFloatingIP(true)\n .enableTcpReset(false)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(80)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"Tcp\")\n .build())\n .location(\"eastus\")\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n enableTcpReset: false,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n enableTcpReset: false,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n location: \"eastus\",\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n )],\n inbound_nat_pools=[],\n inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(\n backend_port=3389,\n enable_floating_ip=True,\n enable_tcp_reset=False,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=3389,\n idle_timeout_in_minutes=15,\n name=\"in-nat-rule\",\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n backend_port=80,\n enable_floating_ip=True,\n enable_tcp_reset=False,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=80,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n location=\"eastus\",\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\")\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n enableTcpReset: false\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n enableTcpReset: false\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Frontend IP in Zone 1\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n Zones = new[]\n {\n \"1\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = AzureNative.Network.LoadBalancerSkuName.Standard,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t\tZones: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{\n\t\t\t\t\u0026network.InboundNatRuleTypeArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(network.LoadBalancerSkuNameStandard),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .name(\"be-lb\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .zones(\"1\")\n .build())\n .inboundNatPools()\n .inboundNatRules(InboundNatRuleArgs.builder()\n .backendPort(3389)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(3389)\n .idleTimeoutInMinutes(15)\n .name(\"in-nat-rule\")\n .protocol(\"Tcp\")\n .build())\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(80)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(80)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"Tcp\")\n .build())\n .location(\"eastus\")\n .outboundRules()\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Standard\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n zones: [\"1\"],\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: azure_native.network.LoadBalancerSkuName.Standard,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n zones=[\"1\"],\n )],\n inbound_nat_pools=[],\n inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(\n backend_port=3389,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=3389,\n idle_timeout_in_minutes=15,\n name=\"in-nat-rule\",\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n backend_port=80,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=80,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=azure_native.network.LoadBalancerSkuName.STANDARD,\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n zones:\n - '1'\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Gateway Load Balancer Consumer configured\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n GatewayLoadBalancer = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n },\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = AzureNative.Network.LoadBalancerSkuName.Standard,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tGatewayLoadBalancer: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{\n\t\t\t\t\u0026network.InboundNatRuleTypeArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(network.LoadBalancerSkuNameStandard),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .name(\"be-lb\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .gatewayLoadBalancer(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\")\n .build())\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .build())\n .inboundNatPools()\n .inboundNatRules(InboundNatRuleArgs.builder()\n .backendPort(3389)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(3389)\n .idleTimeoutInMinutes(15)\n .name(\"in-nat-rule\")\n .protocol(\"Tcp\")\n .build())\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(80)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(80)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"Tcp\")\n .build())\n .location(\"eastus\")\n .outboundRules()\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Standard\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n gatewayLoadBalancer: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n },\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: azure_native.network.LoadBalancerSkuName.Standard,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n gateway_load_balancer=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n ),\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n )],\n inbound_nat_pools=[],\n inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(\n backend_port=3389,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=3389,\n idle_timeout_in_minutes=15,\n name=\"in-nat-rule\",\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n backend_port=80,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=80,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=azure_native.network.LoadBalancerSkuName.STANDARD,\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - gatewayLoadBalancer:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\n name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Gateway Load Balancer Provider configured with one Backend Pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n TunnelInterfaces = new[]\n {\n new AzureNative.Network.Inputs.GatewayLoadBalancerTunnelInterfaceArgs\n {\n Identifier = 900,\n Port = 15000,\n Protocol = AzureNative.Network.GatewayLoadBalancerTunnelProtocol.VXLAN,\n Type = AzureNative.Network.GatewayLoadBalancerTunnelInterfaceType.Internal,\n },\n new AzureNative.Network.Inputs.GatewayLoadBalancerTunnelInterfaceArgs\n {\n Identifier = 901,\n Port = 15001,\n Protocol = AzureNative.Network.GatewayLoadBalancerTunnelProtocol.VXLAN,\n Type = AzureNative.Network.GatewayLoadBalancerTunnelInterfaceType.Internal,\n },\n },\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n },\n BackendPort = 0,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 0,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.All,\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Premium\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t\tTunnelInterfaces: network.GatewayLoadBalancerTunnelInterfaceArray{\n\t\t\t\t\t\t\u0026network.GatewayLoadBalancerTunnelInterfaceArgs{\n\t\t\t\t\t\t\tIdentifier: pulumi.Int(900),\n\t\t\t\t\t\t\tPort: pulumi.Int(15000),\n\t\t\t\t\t\t\tProtocol: pulumi.String(network.GatewayLoadBalancerTunnelProtocolVXLAN),\n\t\t\t\t\t\t\tType: pulumi.String(network.GatewayLoadBalancerTunnelInterfaceTypeInternal),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026network.GatewayLoadBalancerTunnelInterfaceArgs{\n\t\t\t\t\t\t\tIdentifier: pulumi.Int(901),\n\t\t\t\t\t\t\tPort: pulumi.Int(15001),\n\t\t\t\t\t\t\tProtocol: pulumi.String(network.GatewayLoadBalancerTunnelProtocolVXLAN),\n\t\t\t\t\t\t\tType: pulumi.String(network.GatewayLoadBalancerTunnelInterfaceTypeInternal),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPools: network.SubResourceArray{\n\t\t\t\t\t\t\u0026network.SubResourceArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(0),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(0),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolAll),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .name(\"be-lb\")\n .tunnelInterfaces( \n GatewayLoadBalancerTunnelInterfaceArgs.builder()\n .identifier(900)\n .port(15000)\n .protocol(\"VXLAN\")\n .type(\"Internal\")\n .build(),\n GatewayLoadBalancerTunnelInterfaceArgs.builder()\n .identifier(901)\n .port(15001)\n .protocol(\"VXLAN\")\n .type(\"Internal\")\n .build())\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .build())\n .inboundNatPools()\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPools(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(0)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(0)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"All\")\n .build())\n .location(\"eastus\")\n .outboundRules()\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Premium\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n tunnelInterfaces: [\n {\n identifier: 900,\n port: 15000,\n protocol: azure_native.network.GatewayLoadBalancerTunnelProtocol.VXLAN,\n type: azure_native.network.GatewayLoadBalancerTunnelInterfaceType.Internal,\n },\n {\n identifier: 901,\n port: 15001,\n protocol: azure_native.network.GatewayLoadBalancerTunnelProtocol.VXLAN,\n type: azure_native.network.GatewayLoadBalancerTunnelInterfaceType.Internal,\n },\n ],\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPools: [{\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n }],\n backendPort: 0,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 0,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.All,\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Premium\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n tunnel_interfaces=[\n azure_native.network.GatewayLoadBalancerTunnelInterfaceArgs(\n identifier=900,\n port=15000,\n protocol=azure_native.network.GatewayLoadBalancerTunnelProtocol.VXLAN,\n type=azure_native.network.GatewayLoadBalancerTunnelInterfaceType.INTERNAL,\n ),\n azure_native.network.GatewayLoadBalancerTunnelInterfaceArgs(\n identifier=901,\n port=15001,\n protocol=azure_native.network.GatewayLoadBalancerTunnelProtocol.VXLAN,\n type=azure_native.network.GatewayLoadBalancerTunnelInterfaceType.INTERNAL,\n ),\n ],\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n )],\n inbound_nat_pools=[],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pools=[azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n )],\n backend_port=0,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=0,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.ALL,\n )],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Premium\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n tunnelInterfaces:\n - identifier: 900\n port: 15000\n protocol: VXLAN\n type: Internal\n - identifier: 901\n port: 15001\n protocol: VXLAN\n type: Internal\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPools:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 0\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 0\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: All\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Premium\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Gateway Load Balancer Provider configured with two Backend Pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb1\",\n },\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb2\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = null,\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\",\n },\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\",\n },\n },\n BackendPort = 0,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 0,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.All,\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Premium\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb1\"),\n\t\t\t\t},\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: nil,\n\t\t\t\t\tBackendAddressPools: network.SubResourceArray{\n\t\t\t\t\t\t\u0026network.SubResourceArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026network.SubResourceArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(0),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(0),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolAll),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools( \n BackendAddressPoolArgs.builder()\n .name(\"be-lb1\")\n .build(),\n BackendAddressPoolArgs.builder()\n .name(\"be-lb2\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .build())\n .inboundNatPools()\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool()\n .backendAddressPools( \n SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\")\n .build(),\n SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\")\n .build())\n .backendPort(0)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(0)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"All\")\n .build())\n .location(\"eastus\")\n .outboundRules()\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Premium\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [\n {\n name: \"be-lb1\",\n },\n {\n name: \"be-lb2\",\n },\n ],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {},\n backendAddressPools: [\n {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\",\n },\n {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\",\n },\n ],\n backendPort: 0,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 0,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.All,\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Premium\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[\n azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb1\",\n ),\n azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb2\",\n ),\n ],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n )],\n inbound_nat_pools=[],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(),\n backend_address_pools=[\n azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\",\n ),\n azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\",\n ),\n ],\n backend_port=0,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=0,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.ALL,\n )],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Premium\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb1\n - name: be-lb2\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool: {}\n backendAddressPools:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\n backendPort: 0\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 0\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: All\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Premium\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Global Tier and one regional load balancer in its backend pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n LoadBalancerBackendAddresses = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancerBackendAddressArgs\n {\n LoadBalancerFrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\",\n },\n Name = \"regional-lb1-address\",\n },\n },\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = false,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n Location = \"eastus\",\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = AzureNative.Network.LoadBalancerSkuName.Standard,\n Tier = AzureNative.Network.LoadBalancerSkuTier.Global,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tLoadBalancerBackendAddresses: network.LoadBalancerBackendAddressArray{\n\t\t\t\t\t\t\u0026network.LoadBalancerBackendAddressArgs{\n\t\t\t\t\t\t\tLoadBalancerFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"regional-lb1-address\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(false),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(network.LoadBalancerSkuNameStandard),\n\t\t\t\tTier: pulumi.String(network.LoadBalancerSkuTierGlobal),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .loadBalancerBackendAddresses(LoadBalancerBackendAddressArgs.builder()\n .loadBalancerFrontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\")\n .build())\n .name(\"regional-lb1-address\")\n .build())\n .name(\"be-lb\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .build())\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(80)\n .enableFloatingIP(false)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(80)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"Tcp\")\n .build())\n .location(\"eastus\")\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Standard\")\n .tier(\"Global\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n loadBalancerBackendAddresses: [{\n loadBalancerFrontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\",\n },\n name: \"regional-lb1-address\",\n }],\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: false,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n location: \"eastus\",\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: azure_native.network.LoadBalancerSkuName.Standard,\n tier: azure_native.network.LoadBalancerSkuTier.Global,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n load_balancer_backend_addresses=[azure_native.network.LoadBalancerBackendAddressArgs(\n load_balancer_frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\",\n ),\n name=\"regional-lb1-address\",\n )],\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n )],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n backend_port=80,\n enable_floating_ip=False,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=80,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n location=\"eastus\",\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=azure_native.network.LoadBalancerSkuName.STANDARD,\n tier=azure_native.network.LoadBalancerSkuTier.GLOBAL_,\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - loadBalancerBackendAddresses:\n - loadBalancerFrontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\n name: regional-lb1-address\n name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: false\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n tier: Global\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Standard SKU\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = AzureNative.Network.LoadBalancerSkuName.Standard,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{\n\t\t\t\t\u0026network.InboundNatRuleTypeArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(network.LoadBalancerSkuNameStandard),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .name(\"be-lb\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")\n .build())\n .build())\n .inboundNatPools()\n .inboundNatRules(InboundNatRuleArgs.builder()\n .backendPort(3389)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(3389)\n .idleTimeoutInMinutes(15)\n .name(\"in-nat-rule\")\n .protocol(\"Tcp\")\n .build())\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(80)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(80)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"Tcp\")\n .build())\n .location(\"eastus\")\n .outboundRules()\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Standard\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: azure_native.network.LoadBalancerSkuName.Standard,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n )],\n inbound_nat_pools=[],\n inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(\n backend_port=3389,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=3389,\n idle_timeout_in_minutes=15,\n name=\"in-nat-rule\",\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n backend_port=80,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=80,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=azure_native.network.LoadBalancerSkuName.STANDARD,\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with inbound nat pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[] {},\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n Name = \"test\",\n PrivateIPAllocationMethod = AzureNative.Network.IPAllocationMethod.Dynamic,\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\",\n },\n Zones = new() { },\n },\n },\n InboundNatPools = new[]\n {\n new AzureNative.Network.Inputs.InboundNatPoolArgs\n {\n BackendPort = 8888,\n EnableFloatingIP = true,\n EnableTcpReset = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n },\n FrontendPortRangeEnd = 8085,\n FrontendPortRangeStart = 8080,\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\",\n IdleTimeoutInMinutes = 10,\n Name = \"test\",\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n InboundNatRules = new[] {},\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[] {},\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[] {},\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = AzureNative.Network.LoadBalancerSkuName.Standard,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\"),\n\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\tPrivateIPAllocationMethod: pulumi.String(network.IPAllocationMethodDynamic),\n\t\t\t\t\tSubnet: \u0026network.SubnetTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\"),\n\t\t\t\t\t},\n\t\t\t\t\tZones: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{\n\t\t\t\t\u0026network.InboundNatPoolArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(8888),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tEnableTcpReset: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPortRangeEnd: pulumi.Int(8085),\n\t\t\t\t\tFrontendPortRangeStart: pulumi.Int(8080),\n\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\"),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(10),\n\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(network.LoadBalancerSkuNameStandard),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.SubnetArgs;\nimport com.pulumi.azurenative.network.inputs.InboundNatPoolArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools()\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\")\n .name(\"test\")\n .privateIPAllocationMethod(\"Dynamic\")\n .subnet(SubnetArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\")\n .build())\n .zones()\n .build())\n .inboundNatPools(InboundNatPoolArgs.builder()\n .backendPort(8888)\n .enableFloatingIP(true)\n .enableTcpReset(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\")\n .build())\n .frontendPortRangeEnd(8085)\n .frontendPortRangeStart(8080)\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\")\n .idleTimeoutInMinutes(10)\n .name(\"test\")\n .protocol(\"Tcp\")\n .build())\n .inboundNatRules()\n .loadBalancerName(\"lb\")\n .loadBalancingRules()\n .location(\"eastus\")\n .outboundRules()\n .probes()\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Standard\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [],\n frontendIPConfigurations: [{\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n name: \"test\",\n privateIPAllocationMethod: azure_native.network.IPAllocationMethod.Dynamic,\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\",\n },\n zones: [],\n }],\n inboundNatPools: [{\n backendPort: 8888,\n enableFloatingIP: true,\n enableTcpReset: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n },\n frontendPortRangeEnd: 8085,\n frontendPortRangeStart: 8080,\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\",\n idleTimeoutInMinutes: 10,\n name: \"test\",\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n inboundNatRules: [],\n loadBalancerName: \"lb\",\n loadBalancingRules: [],\n location: \"eastus\",\n outboundRules: [],\n probes: [],\n resourceGroupName: \"rg1\",\n sku: {\n name: azure_native.network.LoadBalancerSkuName.Standard,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n name=\"test\",\n private_ip_allocation_method=azure_native.network.IPAllocationMethod.DYNAMIC,\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\",\n ),\n zones=[],\n )],\n inbound_nat_pools=[azure_native.network.InboundNatPoolArgs(\n backend_port=8888,\n enable_floating_ip=True,\n enable_tcp_reset=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n ),\n frontend_port_range_end=8085,\n frontend_port_range_start=8080,\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\",\n idle_timeout_in_minutes=10,\n name=\"test\",\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n inbound_nat_rules=[],\n load_balancer_name=\"lb\",\n load_balancing_rules=[],\n location=\"eastus\",\n outbound_rules=[],\n probes=[],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=azure_native.network.LoadBalancerSkuName.STANDARD,\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools: []\n frontendIPConfigurations:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\n name: test\n privateIPAllocationMethod: Dynamic\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\n zones: []\n inboundNatPools:\n - backendPort: 8888\n enableFloatingIP: true\n enableTcpReset: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\n frontendPortRangeEnd: 8085\n frontendPortRangeStart: 8080\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\n idleTimeoutInMinutes: 10\n name: test\n protocol: Tcp\n inboundNatRules: []\n loadBalancerName: lb\n loadBalancingRules: []\n location: eastus\n outboundRules: []\n probes: []\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with outbound rules\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n PublicIPAddress = new AzureNative.Network.Inputs.PublicIPAddressArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n DisableOutboundSnat = true,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = AzureNative.Network.LoadDistribution.Default,\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = AzureNative.Network.TransportProtocol.Tcp,\n },\n },\n Location = \"eastus\",\n OutboundRules = new[]\n {\n new AzureNative.Network.Inputs.OutboundRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n },\n Name = \"rule1\",\n Protocol = AzureNative.Network.LoadBalancerOutboundRuleProtocol.All,\n },\n },\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = AzureNative.Network.ProbeProtocol.Http,\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = AzureNative.Network.LoadBalancerSkuName.Standard,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{\n\t\t\t\t\u0026network.BackendAddressPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: network.FrontendIPConfigurationArray{\n\t\t\t\t\u0026network.FrontendIPConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tPublicIPAddress: \u0026network.PublicIPAddressTypeArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{\n\t\t\t\t\u0026network.InboundNatRuleTypeArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{\n\t\t\t\t\u0026network.LoadBalancingRuleArgs{\n\t\t\t\t\tBackendAddressPool: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tDisableOutboundSnat: pulumi.Bool(true),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(network.LoadDistributionDefault),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(network.TransportProtocolTcp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{\n\t\t\t\t\u0026network.OutboundRuleArgs{\n\t\t\t\t\tBackendAddressPool: \u0026network.SubResourceArgs{\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendIPConfigurations: network.SubResourceArray{\n\t\t\t\t\t\t\u0026network.SubResourceArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"rule1\"),\n\t\t\t\t\tProtocol: pulumi.String(network.LoadBalancerOutboundRuleProtocolAll),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProbes: network.ProbeArray{\n\t\t\t\t\u0026network.ProbeArgs{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(network.ProbeProtocolHttp),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(network.LoadBalancerSkuNameStandard),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;\nimport com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;\nimport com.pulumi.azurenative.network.inputs.PublicIPAddressArgs;\nimport com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;\nimport com.pulumi.azurenative.network.inputs.SubResourceArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;\nimport com.pulumi.azurenative.network.inputs.OutboundRuleArgs;\nimport com.pulumi.azurenative.network.inputs.ProbeArgs;\nimport com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(BackendAddressPoolArgs.builder()\n .name(\"be-lb\")\n .build())\n .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()\n .name(\"fe-lb\")\n .publicIPAddress(PublicIPAddressArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\")\n .build())\n .build())\n .inboundNatPools()\n .inboundNatRules(InboundNatRuleArgs.builder()\n .backendPort(3389)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(3389)\n .idleTimeoutInMinutes(15)\n .name(\"in-nat-rule\")\n .protocol(\"Tcp\")\n .build())\n .loadBalancerName(\"lb\")\n .loadBalancingRules(LoadBalancingRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .backendPort(80)\n .disableOutboundSnat(true)\n .enableFloatingIP(true)\n .frontendIPConfiguration(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .frontendPort(80)\n .idleTimeoutInMinutes(15)\n .loadDistribution(\"Default\")\n .name(\"rulelb\")\n .probe(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")\n .build())\n .protocol(\"Tcp\")\n .build())\n .location(\"eastus\")\n .outboundRules(OutboundRuleArgs.builder()\n .backendAddressPool(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")\n .build())\n .frontendIPConfigurations(SubResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")\n .build())\n .name(\"rule1\")\n .protocol(\"All\")\n .build())\n .probes(ProbeArgs.builder()\n .intervalInSeconds(15)\n .name(\"probe-lb\")\n .numberOfProbes(2)\n .port(80)\n .probeThreshold(1)\n .protocol(\"Http\")\n .requestPath(\"healthcheck.aspx\")\n .build())\n .resourceGroupName(\"rg1\")\n .sku(LoadBalancerSkuArgs.builder()\n .name(\"Standard\")\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n publicIPAddress: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n disableOutboundSnat: true,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: azure_native.network.LoadDistribution.Default,\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: azure_native.network.TransportProtocol.Tcp,\n }],\n location: \"eastus\",\n outboundRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n frontendIPConfigurations: [{\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n }],\n name: \"rule1\",\n protocol: azure_native.network.LoadBalancerOutboundRuleProtocol.All,\n }],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: azure_native.network.ProbeProtocol.Http,\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: azure_native.network.LoadBalancerSkuName.Standard,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n public_ip_address=azure_native.network.PublicIPAddressArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\",\n ),\n )],\n inbound_nat_pools=[],\n inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(\n backend_port=3389,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=3389,\n idle_timeout_in_minutes=15,\n name=\"in-nat-rule\",\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n load_balancer_name=\"lb\",\n load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n backend_port=80,\n disable_outbound_snat=True,\n enable_floating_ip=True,\n frontend_ip_configuration=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n frontend_port=80,\n idle_timeout_in_minutes=15,\n load_distribution=azure_native.network.LoadDistribution.DEFAULT,\n name=\"rulelb\",\n probe=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n protocol=azure_native.network.TransportProtocol.TCP,\n )],\n location=\"eastus\",\n outbound_rules=[azure_native.network.OutboundRuleArgs(\n backend_address_pool=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n frontend_ip_configurations=[azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n )],\n name=\"rule1\",\n protocol=azure_native.network.LoadBalancerOutboundRuleProtocol.ALL,\n )],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=azure_native.network.ProbeProtocol.HTTP,\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=azure_native.network.LoadBalancerSkuName.STANDARD,\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n publicIPAddress:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n disableOutboundSnat: true\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n frontendIPConfigurations:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n name: rule1\n protocol: All\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:network:LoadBalancer lb /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} \n```\n",
"properties": {
"backendAddressPools": {
"type": "array",
@@ -727975,6 +727975,21 @@
]
}
},
+ "azure-native:app:getCustomDomainVerificationId": {
+ "description": "Get the verification id of a subscription used for verifying custom domains\nAzure REST API version: 2023-05-02-preview.\n\nOther available API versions: 2023-08-01-preview, 2023-11-02-preview.",
+ "inputs": {
+ "type": "object"
+ },
+ "outputs": {
+ "description": "Custom domain verification Id of a subscription",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
"azure-native:app:getDaprComponent": {
"description": "Dapr Component.\nAzure REST API version: 2022-10-01.\n\nOther available API versions: 2022-01-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview.",
"inputs": {
@@ -782434,6 +782449,21 @@
]
}
},
+ "azure-native:dbforpostgresql:getGetPrivateDnsZoneSuffixExecute": {
+ "description": "Get private DNS zone suffix in the cloud\nAzure REST API version: 2022-12-01.\n\nOther available API versions: 2021-03-31-privatepreview, 2021-06-01, 2022-01-20-preview, 2022-03-08-preview, 2023-03-01-preview, 2023-06-01-preview, 2023-12-01-preview.",
+ "inputs": {
+ "type": "object"
+ },
+ "outputs": {
+ "description": "Represents a resource name availability.",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
"azure-native:dbforpostgresql:getMigration": {
"description": "Gets details of a migration.\nAzure REST API version: 2023-03-01-preview.\n\nOther available API versions: 2021-06-15-privatepreview, 2022-05-01-preview, 2023-06-01-preview, 2023-12-01-preview.",
"inputs": {
@@ -852423,6 +852453,36 @@
]
}
},
+ "azure-native:network:getVirtualNetworkGatewayConnectionIkeSas": {
+ "description": "Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.\nAzure REST API version: 2023-02-01.\n\nOther available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.",
+ "inputs": {
+ "properties": {
+ "resourceGroupName": {
+ "type": "string",
+ "description": "The name of the resource group.",
+ "willReplaceOnChanges": true
+ },
+ "virtualNetworkGatewayConnectionName": {
+ "type": "string",
+ "description": "The name of the virtual network gateway Connection.",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "resourceGroupName",
+ "virtualNetworkGatewayConnectionName"
+ ]
+ },
+ "outputs": {
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
"azure-native:network:getVirtualNetworkGatewayLearnedRoutes": {
"description": "This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.\nAzure REST API version: 2023-02-01.\n\nOther available API versions: 2016-09-01, 2019-08-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.",
"inputs": {
@@ -852542,6 +852602,36 @@
]
}
},
+ "azure-native:network:getVirtualNetworkGatewayVpnProfilePackageUrl": {
+ "description": "Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.\nAzure REST API version: 2023-02-01.\n\nOther available API versions: 2019-08-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.",
+ "inputs": {
+ "properties": {
+ "resourceGroupName": {
+ "type": "string",
+ "description": "The name of the resource group.",
+ "willReplaceOnChanges": true
+ },
+ "virtualNetworkGatewayName": {
+ "type": "string",
+ "description": "The name of the virtual network gateway.",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "resourceGroupName",
+ "virtualNetworkGatewayName"
+ ]
+ },
+ "outputs": {
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
"azure-native:network:getVirtualNetworkGatewayVpnclientConnectionHealth": {
"description": "Get VPN client connection health detail per P2S client connection of the virtual network gateway in the specified resource group.\nAzure REST API version: 2023-02-01.\n\nOther available API versions: 2019-08-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.",
"inputs": {
@@ -853466,6 +853556,48 @@
]
}
},
+ "azure-native:network:getVpnLinkConnectionIkeSas": {
+ "description": "Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.\nAzure REST API version: 2023-02-01.\n\nOther available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.",
+ "inputs": {
+ "properties": {
+ "connectionName": {
+ "type": "string",
+ "description": "The name of the vpn connection.",
+ "willReplaceOnChanges": true
+ },
+ "gatewayName": {
+ "type": "string",
+ "description": "The name of the gateway.",
+ "willReplaceOnChanges": true
+ },
+ "linkConnectionName": {
+ "type": "string",
+ "description": "The name of the vpn link connection.",
+ "willReplaceOnChanges": true
+ },
+ "resourceGroupName": {
+ "type": "string",
+ "description": "The name of the resource group.",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "connectionName",
+ "gatewayName",
+ "linkConnectionName",
+ "resourceGroupName"
+ ]
+ },
+ "outputs": {
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
"azure-native:network:getVpnServerConfiguration": {
"description": "Retrieves the details of a VpnServerConfiguration.\nAzure REST API version: 2023-02-01.\n\nOther available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.",
"inputs": {
diff --git a/provider/pkg/azure/client.go b/provider/pkg/azure/client.go
index 637788f8e375..227fd1d87ebc 100644
--- a/provider/pkg/azure/client.go
+++ b/provider/pkg/azure/client.go
@@ -31,10 +31,10 @@ type AzureDeleter interface {
type AzureClient interface {
AzureDeleter
CanCreate(ctx context.Context, id, path, apiVersion, readMethod string, isSingletonResource, hasDefaultBody bool, isDefaultResponse func(map[string]any) bool) error
- Get(ctx context.Context, id string, apiVersion string) (map[string]interface{}, error)
+ Get(ctx context.Context, id string, apiVersion string) (any, error)
Head(ctx context.Context, id string, apiVersion string) error
Patch(ctx context.Context, id string, bodyProps map[string]interface{}, queryParameters map[string]interface{}, asyncStyle string) (map[string]interface{}, bool, error)
- Post(ctx context.Context, id string, bodyProps map[string]interface{}, queryParameters map[string]interface{}) (map[string]interface{}, error)
+ Post(ctx context.Context, id string, bodyProps map[string]interface{}, queryParameters map[string]interface{}) (any, error)
Put(ctx context.Context, id string, bodyProps map[string]interface{}, queryParameters map[string]interface{}, asyncStyle string) (map[string]interface{}, bool, error)
}
@@ -124,7 +124,7 @@ func (a *azureClientImpl) Post(
ctx context.Context,
id string,
bodyProps map[string]interface{},
- queryParameters map[string]interface{}) (map[string]interface{}, error) {
+ queryParameters map[string]interface{}) (any, error) {
preparer := autorest.CreatePreparer(
autorest.AsContentType("application/json; charset=utf-8"),
@@ -146,7 +146,7 @@ func (a *azureClientImpl) Post(
if err != nil {
return nil, err
}
- var outputs map[string]interface{}
+ var outputs any
err = autorest.Respond(
resp,
a.client.ByInspecting(),
@@ -159,8 +159,7 @@ func (a *azureClientImpl) Post(
return outputs, nil
}
-func (a *azureClientImpl) Get(ctx context.Context, id string,
- apiVersion string) (map[string]interface{}, error) {
+func (a *azureClientImpl) Get(ctx context.Context, id string, apiVersion string) (any, error) {
queryParameters := map[string]interface{}{
"api-version": apiVersion,
}
@@ -181,7 +180,7 @@ func (a *azureClientImpl) Get(ctx context.Context, id string,
if err != nil {
return nil, err
}
- var outputs map[string]interface{}
+ var outputs any
err = autorest.Respond(
resp,
a.client.ByInspecting(),
diff --git a/provider/pkg/gen/__snapshots__/gen_vnet_test.snap b/provider/pkg/gen/__snapshots__/gen_vnet_test.snap
index 045dece82fda..1b51ed537f03 100755
--- a/provider/pkg/gen/__snapshots__/gen_vnet_test.snap
+++ b/provider/pkg/gen/__snapshots__/gen_vnet_test.snap
@@ -162154,6 +162154,94 @@
Language: {},
IsOverlay: false,
},
+ "azure-native:network/v20230201:getVirtualNetworkGatewayConnectionIkeSas": {
+ Description: "Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.",
+ Inputs: &schema.ObjectTypeSpec{
+ Description: "",
+ Properties: {
+ "resourceGroupName": {
+ TypeSpec: schema.TypeSpec{
+ Type: "string",
+ Ref: "",
+ AdditionalProperties: (*schema.TypeSpec)(nil),
+ Items: (*schema.TypeSpec)(nil),
+ OneOf: nil,
+ Discriminator: (*schema.DiscriminatorSpec)(nil),
+ Plain: false,
+ },
+ Description: "The name of the resource group.",
+ Const: nil,
+ Default: nil,
+ DefaultInfo: (*schema.DefaultSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ Secret: false,
+ ReplaceOnChanges: false,
+ WillReplaceOnChanges: true,
+ },
+ "virtualNetworkGatewayConnectionName": {
+ TypeSpec: schema.TypeSpec{
+ Type: "string",
+ Ref: "",
+ AdditionalProperties: (*schema.TypeSpec)(nil),
+ Items: (*schema.TypeSpec)(nil),
+ OneOf: nil,
+ Discriminator: (*schema.DiscriminatorSpec)(nil),
+ Plain: false,
+ },
+ Description: "The name of the virtual network gateway Connection.",
+ Const: nil,
+ Default: nil,
+ DefaultInfo: (*schema.DefaultSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ Secret: false,
+ ReplaceOnChanges: false,
+ WillReplaceOnChanges: true,
+ },
+ },
+ Type: "object",
+ Required: {"resourceGroupName", "virtualNetworkGatewayConnectionName"},
+ Plain: nil,
+ Language: {},
+ IsOverlay: false,
+ },
+ MultiArgumentInputs: nil,
+ Outputs: &schema.ObjectTypeSpec{
+ Description: "",
+ Properties: {
+ "value": {
+ TypeSpec: schema.TypeSpec{
+ Type: "string",
+ Ref: "",
+ AdditionalProperties: (*schema.TypeSpec)(nil),
+ Items: (*schema.TypeSpec)(nil),
+ OneOf: nil,
+ Discriminator: (*schema.DiscriminatorSpec)(nil),
+ Plain: false,
+ },
+ Description: "",
+ Const: nil,
+ Default: nil,
+ DefaultInfo: (*schema.DefaultSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ Secret: false,
+ ReplaceOnChanges: false,
+ WillReplaceOnChanges: false,
+ },
+ },
+ Type: "object",
+ Required: nil,
+ Plain: nil,
+ Language: {},
+ IsOverlay: false,
+ },
+ ReturnType: (*schema.ReturnTypeSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ IsOverlay: false,
+ },
"azure-native:network/v20230201:getVirtualNetworkGatewayLearnedRoutes": {
Description: "This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.",
Inputs: &schema.ObjectTypeSpec{
@@ -162534,6 +162622,94 @@
Language: {},
IsOverlay: false,
},
+ "azure-native:network/v20230201:getVirtualNetworkGatewayVpnProfilePackageUrl": {
+ Description: "Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.",
+ Inputs: &schema.ObjectTypeSpec{
+ Description: "",
+ Properties: {
+ "resourceGroupName": {
+ TypeSpec: schema.TypeSpec{
+ Type: "string",
+ Ref: "",
+ AdditionalProperties: (*schema.TypeSpec)(nil),
+ Items: (*schema.TypeSpec)(nil),
+ OneOf: nil,
+ Discriminator: (*schema.DiscriminatorSpec)(nil),
+ Plain: false,
+ },
+ Description: "The name of the resource group.",
+ Const: nil,
+ Default: nil,
+ DefaultInfo: (*schema.DefaultSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ Secret: false,
+ ReplaceOnChanges: false,
+ WillReplaceOnChanges: true,
+ },
+ "virtualNetworkGatewayName": {
+ TypeSpec: schema.TypeSpec{
+ Type: "string",
+ Ref: "",
+ AdditionalProperties: (*schema.TypeSpec)(nil),
+ Items: (*schema.TypeSpec)(nil),
+ OneOf: nil,
+ Discriminator: (*schema.DiscriminatorSpec)(nil),
+ Plain: false,
+ },
+ Description: "The name of the virtual network gateway.",
+ Const: nil,
+ Default: nil,
+ DefaultInfo: (*schema.DefaultSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ Secret: false,
+ ReplaceOnChanges: false,
+ WillReplaceOnChanges: true,
+ },
+ },
+ Type: "object",
+ Required: {"resourceGroupName", "virtualNetworkGatewayName"},
+ Plain: nil,
+ Language: {},
+ IsOverlay: false,
+ },
+ MultiArgumentInputs: nil,
+ Outputs: &schema.ObjectTypeSpec{
+ Description: "",
+ Properties: {
+ "value": {
+ TypeSpec: schema.TypeSpec{
+ Type: "string",
+ Ref: "",
+ AdditionalProperties: (*schema.TypeSpec)(nil),
+ Items: (*schema.TypeSpec)(nil),
+ OneOf: nil,
+ Discriminator: (*schema.DiscriminatorSpec)(nil),
+ Plain: false,
+ },
+ Description: "",
+ Const: nil,
+ Default: nil,
+ DefaultInfo: (*schema.DefaultSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ Secret: false,
+ ReplaceOnChanges: false,
+ WillReplaceOnChanges: false,
+ },
+ },
+ Type: "object",
+ Required: nil,
+ Plain: nil,
+ Language: {},
+ IsOverlay: false,
+ },
+ ReturnType: (*schema.ReturnTypeSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ IsOverlay: false,
+ },
"azure-native:network/v20230201:getVirtualNetworkGatewayVpnclientConnectionHealth": {
Description: "Get VPN client connection health detail per P2S client connection of the virtual network gateway in the specified resource group.",
Inputs: &schema.ObjectTypeSpec{
@@ -165514,6 +165690,134 @@
Language: {},
IsOverlay: false,
},
+ "azure-native:network/v20230201:getVpnLinkConnectionIkeSas": {
+ Description: "Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.",
+ Inputs: &schema.ObjectTypeSpec{
+ Description: "",
+ Properties: {
+ "connectionName": {
+ TypeSpec: schema.TypeSpec{
+ Type: "string",
+ Ref: "",
+ AdditionalProperties: (*schema.TypeSpec)(nil),
+ Items: (*schema.TypeSpec)(nil),
+ OneOf: nil,
+ Discriminator: (*schema.DiscriminatorSpec)(nil),
+ Plain: false,
+ },
+ Description: "The name of the vpn connection.",
+ Const: nil,
+ Default: nil,
+ DefaultInfo: (*schema.DefaultSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ Secret: false,
+ ReplaceOnChanges: false,
+ WillReplaceOnChanges: true,
+ },
+ "gatewayName": {
+ TypeSpec: schema.TypeSpec{
+ Type: "string",
+ Ref: "",
+ AdditionalProperties: (*schema.TypeSpec)(nil),
+ Items: (*schema.TypeSpec)(nil),
+ OneOf: nil,
+ Discriminator: (*schema.DiscriminatorSpec)(nil),
+ Plain: false,
+ },
+ Description: "The name of the gateway.",
+ Const: nil,
+ Default: nil,
+ DefaultInfo: (*schema.DefaultSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ Secret: false,
+ ReplaceOnChanges: false,
+ WillReplaceOnChanges: true,
+ },
+ "linkConnectionName": {
+ TypeSpec: schema.TypeSpec{
+ Type: "string",
+ Ref: "",
+ AdditionalProperties: (*schema.TypeSpec)(nil),
+ Items: (*schema.TypeSpec)(nil),
+ OneOf: nil,
+ Discriminator: (*schema.DiscriminatorSpec)(nil),
+ Plain: false,
+ },
+ Description: "The name of the vpn link connection.",
+ Const: nil,
+ Default: nil,
+ DefaultInfo: (*schema.DefaultSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ Secret: false,
+ ReplaceOnChanges: false,
+ WillReplaceOnChanges: true,
+ },
+ "resourceGroupName": {
+ TypeSpec: schema.TypeSpec{
+ Type: "string",
+ Ref: "",
+ AdditionalProperties: (*schema.TypeSpec)(nil),
+ Items: (*schema.TypeSpec)(nil),
+ OneOf: nil,
+ Discriminator: (*schema.DiscriminatorSpec)(nil),
+ Plain: false,
+ },
+ Description: "The name of the resource group.",
+ Const: nil,
+ Default: nil,
+ DefaultInfo: (*schema.DefaultSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ Secret: false,
+ ReplaceOnChanges: false,
+ WillReplaceOnChanges: true,
+ },
+ },
+ Type: "object",
+ Required: {"connectionName", "gatewayName", "linkConnectionName", "resourceGroupName"},
+ Plain: nil,
+ Language: {},
+ IsOverlay: false,
+ },
+ MultiArgumentInputs: nil,
+ Outputs: &schema.ObjectTypeSpec{
+ Description: "",
+ Properties: {
+ "value": {
+ TypeSpec: schema.TypeSpec{
+ Type: "string",
+ Ref: "",
+ AdditionalProperties: (*schema.TypeSpec)(nil),
+ Items: (*schema.TypeSpec)(nil),
+ OneOf: nil,
+ Discriminator: (*schema.DiscriminatorSpec)(nil),
+ Plain: false,
+ },
+ Description: "",
+ Const: nil,
+ Default: nil,
+ DefaultInfo: (*schema.DefaultSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ Secret: false,
+ ReplaceOnChanges: false,
+ WillReplaceOnChanges: false,
+ },
+ },
+ Type: "object",
+ Required: nil,
+ Plain: nil,
+ Language: {},
+ IsOverlay: false,
+ },
+ ReturnType: (*schema.ReturnTypeSpec)(nil),
+ DeprecationMessage: "",
+ Language: {},
+ IsOverlay: false,
+ },
"azure-native:network/v20230201:getVpnServerConfiguration": {
Description: "Retrieves the details of a VpnServerConfiguration.",
Inputs: &schema.ObjectTypeSpec{
@@ -319904,6 +320208,121 @@
},
},
},
+ "azure-native:network/v20230201:getVirtualNetworkGatewayConnectionIkeSas": {
+ APIVersion: "2023-02-01",
+ Path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/getikesas",
+ GetParameters: nil,
+ PostParameters: {
+ {
+ Name: "resourceGroupName",
+ Location: "path",
+ IsRequired: true,
+ Value: &resources.AzureAPIProperty{
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ Body: (*resources.AzureAPIType)(nil),
+ },
+ {
+ Name: "virtualNetworkGatewayConnectionName",
+ Location: "path",
+ IsRequired: true,
+ Value: &resources.AzureAPIProperty{
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ Body: (*resources.AzureAPIType)(nil),
+ },
+ {
+ Name: "subscriptionId",
+ Location: "path",
+ IsRequired: true,
+ Value: &resources.AzureAPIProperty{
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ Body: (*resources.AzureAPIType)(nil),
+ },
+ },
+ Response: {
+ "value": {
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ },
+ },
"azure-native:network/v20230201:getVirtualNetworkGatewayLearnedRoutes": {
APIVersion: "2023-02-01",
Path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes",
@@ -320269,7 +320688,30 @@
MaintainSubResourceIfUnset: false,
ArrayIdentifiers: nil,
},
- "mode": {
+ "mode": {
+ Type: "",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: {"properties"},
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ "name": {},
+ "provisioningState": {
Type: "",
Items: (*resources.AzureAPIProperty)(nil),
AdditionalProperties: (*resources.AzureAPIProperty)(nil),
@@ -320291,9 +320733,102 @@
MaintainSubResourceIfUnset: false,
ArrayIdentifiers: nil,
},
- "name": {},
- "provisioningState": {
- Type: "",
+ "type": {},
+ },
+ },
+ "azure-native:network/v20230201:getVirtualNetworkGatewayVpnProfilePackageUrl": {
+ APIVersion: "2023-02-01",
+ Path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl",
+ GetParameters: nil,
+ PostParameters: {
+ {
+ Name: "resourceGroupName",
+ Location: "path",
+ IsRequired: true,
+ Value: &resources.AzureAPIProperty{
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ Body: (*resources.AzureAPIType)(nil),
+ },
+ {
+ Name: "virtualNetworkGatewayName",
+ Location: "path",
+ IsRequired: true,
+ Value: &resources.AzureAPIProperty{
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ Body: (*resources.AzureAPIType)(nil),
+ },
+ {
+ Name: "subscriptionId",
+ Location: "path",
+ IsRequired: true,
+ Value: &resources.AzureAPIProperty{
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ Body: (*resources.AzureAPIType)(nil),
+ },
+ },
+ Response: {
+ "value": {
+ Type: "string",
Items: (*resources.AzureAPIProperty)(nil),
AdditionalProperties: (*resources.AzureAPIProperty)(nil),
OneOf: nil,
@@ -320305,7 +320840,7 @@
MaxLength: (*int64)(nil),
Pattern: "",
SdkName: "",
- Containers: {"properties"},
+ Containers: nil,
ForceNew: false,
ForceNewInferredFromReferencedTypes: false,
AutoName: "",
@@ -320314,7 +320849,6 @@
MaintainSubResourceIfUnset: false,
ArrayIdentifiers: nil,
},
- "type": {},
},
},
"azure-native:network/v20230201:getVirtualNetworkGatewayVpnclientConnectionHealth": {
@@ -323159,6 +323693,177 @@
},
},
},
+ "azure-native:network/v20230201:getVpnLinkConnectionIkeSas": {
+ APIVersion: "2023-02-01",
+ Path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}/getikesas",
+ GetParameters: nil,
+ PostParameters: {
+ {
+ Name: "subscriptionId",
+ Location: "path",
+ IsRequired: true,
+ Value: &resources.AzureAPIProperty{
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ Body: (*resources.AzureAPIType)(nil),
+ },
+ {
+ Name: "resourceGroupName",
+ Location: "path",
+ IsRequired: true,
+ Value: &resources.AzureAPIProperty{
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ Body: (*resources.AzureAPIType)(nil),
+ },
+ {
+ Name: "gatewayName",
+ Location: "path",
+ IsRequired: true,
+ Value: &resources.AzureAPIProperty{
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ Body: (*resources.AzureAPIType)(nil),
+ },
+ {
+ Name: "connectionName",
+ Location: "path",
+ IsRequired: true,
+ Value: &resources.AzureAPIProperty{
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ Body: (*resources.AzureAPIType)(nil),
+ },
+ {
+ Name: "linkConnectionName",
+ Location: "path",
+ IsRequired: true,
+ Value: &resources.AzureAPIProperty{
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ Body: (*resources.AzureAPIType)(nil),
+ },
+ },
+ Response: {
+ "value": {
+ Type: "string",
+ Items: (*resources.AzureAPIProperty)(nil),
+ AdditionalProperties: (*resources.AzureAPIProperty)(nil),
+ OneOf: nil,
+ Ref: "",
+ Const: nil,
+ Minimum: (*float64)(nil),
+ Maximum: (*float64)(nil),
+ MinLength: (*int64)(nil),
+ MaxLength: (*int64)(nil),
+ Pattern: "",
+ SdkName: "",
+ Containers: nil,
+ ForceNew: false,
+ ForceNewInferredFromReferencedTypes: false,
+ AutoName: "",
+ IsStringSet: false,
+ Default: nil,
+ MaintainSubResourceIfUnset: false,
+ ArrayIdentifiers: nil,
+ },
+ },
+ },
"azure-native:network/v20230201:getVpnServerConfiguration": {
APIVersion: "2023-02-01",
Path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}",
diff --git a/provider/pkg/gen/properties.go b/provider/pkg/gen/properties.go
index bd8a1359c2a2..65552bda489e 100644
--- a/provider/pkg/gen/properties.go
+++ b/provider/pkg/gen/properties.go
@@ -43,7 +43,27 @@ type propertyBag struct {
type RequiredContainers [][]string
-func (m *moduleGenerator) genProperties(resolvedSchema *openapi.Schema, isOutput, isType bool) (*propertyBag, error) {
+// genPropertiesVariant is a set of flags that control the behavior of property generation
+// in genProperties and genProperty
+type genPropertiesVariant struct {
+ // isOutput indicates that the properties are being generated for an output type.
+ isOutput bool
+ // isType indicates that the properties are being generated for a type definition.
+ isType bool
+ // isResponse indicates that the properties are being generated for a response type.
+ isResponse bool
+}
+
+// noResponse returns a new copy of the variant with isResponse set to false.
+func (v *genPropertiesVariant) noResponse() genPropertiesVariant {
+ return genPropertiesVariant{
+ isOutput: v.isOutput,
+ isType: v.isType,
+ isResponse: false,
+ }
+}
+
+func (m *moduleGenerator) genProperties(resolvedSchema *openapi.Schema, variants genPropertiesVariant) (*propertyBag, error) {
result := newPropertyBag()
// Sort properties to make codegen deterministic.
@@ -60,7 +80,7 @@ func (m *moduleGenerator) genProperties(resolvedSchema *openapi.Schema, isOutput
return nil, err
}
- if name == "etag" && !isType && !isOutput {
+ if name == "etag" && !variants.isType && !variants.isOutput {
// ETags may be defined as inputs to PUT endpoints, but we should never model them as
// resource inputs because they are a protocol implementation detail rather than
// a meaningful desired-state property.
@@ -98,7 +118,7 @@ func (m *moduleGenerator) genProperties(resolvedSchema *openapi.Schema, isOutput
}
if (ok && flatten && !isDict) || workaroundDelegatedNetworkBreakingChange {
- bag, err := m.genProperties(resolvedProperty, isOutput, isType)
+ bag, err := m.genProperties(resolvedProperty, variants.noResponse())
if err != nil {
return nil, err
}
@@ -136,14 +156,14 @@ func (m *moduleGenerator) genProperties(resolvedSchema *openapi.Schema, isOutput
}
// Skip read-only properties for input types and write-only properties for output types.
- if resolvedProperty.ReadOnly && !isOutput {
+ if resolvedProperty.ReadOnly && !variants.isOutput {
continue
}
- if isOutput && isWriteOnly(resolvedProperty) {
+ if variants.isOutput && isWriteOnly(resolvedProperty) {
continue
}
- propertySpec, apiProperty, err := m.genProperty(name, &property, resolvedSchema.ReferenceContext, resolvedProperty, isOutput, isType)
+ propertySpec, apiProperty, err := m.genProperty(name, &property, resolvedSchema.ReferenceContext, resolvedProperty, variants)
if err != nil {
return nil, err
}
@@ -153,7 +173,7 @@ func (m *moduleGenerator) genProperties(resolvedSchema *openapi.Schema, isOutput
continue
}
- if isOutput && resolvedProperty.ReadOnly {
+ if variants.isOutput && resolvedProperty.ReadOnly {
result.requiredSpecs.Add(sdkName)
}
@@ -171,7 +191,7 @@ func (m *moduleGenerator) genProperties(resolvedSchema *openapi.Schema, isOutput
return nil, err
}
- allOfProperties, err := m.genProperties(allOfSchema, isOutput, isType)
+ allOfProperties, err := m.genProperties(allOfSchema, variants.noResponse())
if err != nil {
return nil, err
}
@@ -216,10 +236,26 @@ func (m *moduleGenerator) genProperties(resolvedSchema *openapi.Schema, isOutput
result.requiredProperties.Add(name)
}
}
+
+ // If the schema has no properties but is a primitive output, we include it as a property so invokes can be generated.
+ // Ideally we'd just represent it as a primitive type and use FunctionSpec.ReturnType to specify this, but pulumi/pulumi
+ // #15739 and #15738 prevent this.
+ if len(names) == 0 && len(result.specs) == 0 && variants.isResponse && len(resolvedSchema.Type) == 1 && resolvedSchema.Type[0] != "object" {
+ result.specs[resources.SingleValueProperty] = pschema.PropertySpec{
+ TypeSpec: pschema.TypeSpec{
+ Type: resolvedSchema.Type[0],
+ },
+ Description: result.description,
+ }
+ result.properties[resources.SingleValueProperty] = resources.AzureAPIProperty{
+ Type: resolvedSchema.Type[0],
+ }
+ }
+
return result, nil
}
-func (m *moduleGenerator) genProperty(name string, schema *spec.Schema, context *openapi.ReferenceContext, resolvedProperty *openapi.Schema, isOutput, isType bool) (*pschema.PropertySpec, *resources.AzureAPIProperty, error) {
+func (m *moduleGenerator) genProperty(name string, schema *spec.Schema, context *openapi.ReferenceContext, resolvedProperty *openapi.Schema, variants genPropertiesVariant) (*pschema.PropertySpec, *resources.AzureAPIProperty, error) {
// Identify properties which are aso available as standalone resources and mark them to be maintained if not specified inline.
// Ignore types as we only support top-level resource properties
// Ignore outputs as this is only affecting the input args of a resource, not the resource outputs.
@@ -227,7 +263,7 @@ func (m *moduleGenerator) genProperty(name string, schema *spec.Schema, context
// There is other kinds of sub-resources where there's only a single instance within the parent resource but these are not handled here.
// They are currently handled by the openapi.default module - where we have to add a special case for them *because* they're not managed by the parent and don't have their own delete method.
maintainSubResourceIfUnset := false
- if !isType && !isOutput && schema.Items != nil && schema.Items.Schema != nil {
+ if !variants.isType && !variants.isOutput && schema.Items != nil && schema.Items.Schema != nil {
itemsRef := schema.Items.Schema.Ref.String()
for _, nestedRef := range m.nestedResourceBodyRefs {
if itemsRef == nestedRef {
@@ -247,7 +283,7 @@ func (m *moduleGenerator) genProperty(name string, schema *spec.Schema, context
return nil, nil, err
}
- typeSpec, err := m.genTypeSpec(name, schema, context, isOutput)
+ typeSpec, err := m.genTypeSpec(name, schema, context, variants.isOutput)
if err != nil {
return nil, nil, err
}
@@ -300,8 +336,8 @@ func (m *moduleGenerator) genProperty(name string, schema *spec.Schema, context
isStringSet := typeSpec.Type == "object" && typeSpec.AdditionalProperties == nil && typeSpec.Ref == ""
forceNewSpec := noForceNew
- if !isOutput {
- forceNewSpec = m.forceNew(resolvedProperty, name, isType)
+ if !variants.isOutput {
+ forceNewSpec = m.forceNew(resolvedProperty, name, variants.isType)
}
schemaProperty := pschema.PropertySpec{
@@ -336,7 +372,7 @@ func (m *moduleGenerator) genProperty(name string, schema *spec.Schema, context
}
// Input types only get extra information attached
- if !isOutput {
+ if !variants.isOutput {
if m.isEnum(&schemaProperty.TypeSpec) {
metadataProperty = resources.AzureAPIProperty{
Type: "string",
diff --git a/provider/pkg/gen/properties_test.go b/provider/pkg/gen/properties_test.go
index 7f5dd41778d5..61c3ef246fb6 100644
--- a/provider/pkg/gen/properties_test.go
+++ b/provider/pkg/gen/properties_test.go
@@ -5,7 +5,9 @@ import (
"github.com/go-openapi/spec"
"github.com/pulumi/pulumi-azure-native/v2/provider/pkg/openapi"
+ "github.com/pulumi/pulumi-azure-native/v2/provider/pkg/resources"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func makeSchema(mutability ...string) *openapi.Schema {
@@ -100,3 +102,95 @@ func TestForceNew(t *testing.T) {
assert.Equal(t, noForceNew, forceNewMetadata)
})
}
+
+func TestNonObjectInvokeResponses(t *testing.T) {
+ m := moduleGenerator{
+ prov: "foo",
+ }
+
+ resolvedSchema := &openapi.Schema{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ },
+ },
+ }
+
+ t.Run("string type, response properties requested", func(t *testing.T) {
+ variant := genPropertiesVariant{
+ isOutput: true,
+ isType: false,
+ isResponse: true,
+ }
+ props, err := m.genProperties(resolvedSchema, variant)
+ require.NoError(t, err)
+
+ require.Len(t, props.specs, 1)
+ assert.Contains(t, props.specs, resources.SingleValueProperty)
+
+ require.Len(t, props.properties, 1)
+ assert.Contains(t, props.properties, resources.SingleValueProperty)
+ })
+
+ t.Run("string type, response properties not requested", func(t *testing.T) {
+ variant := genPropertiesVariant{
+ isOutput: true,
+ isType: false,
+ isResponse: false,
+ }
+ props, err := m.genProperties(resolvedSchema, variant)
+ require.NoError(t, err)
+
+ require.Len(t, props.specs, 0)
+ require.Len(t, props.properties, 0)
+ })
+
+ t.Run("object type, response properties requested", func(t *testing.T) {
+ schema := &openapi.Schema{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"object"},
+ },
+ },
+ }
+
+ variant := genPropertiesVariant{
+ isOutput: true,
+ isType: false,
+ isResponse: true,
+ }
+ props, err := m.genProperties(schema, variant)
+ require.NoError(t, err)
+
+ require.Len(t, props.specs, 0)
+ require.Len(t, props.properties, 0)
+ })
+
+ t.Run("string type, response properties requested but there are other properties", func(t *testing.T) {
+ schema := &openapi.Schema{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Properties: map[string]spec.Schema{
+ "foo": {
+ SchemaProps: spec.SchemaProps{},
+ },
+ },
+ },
+ },
+ }
+
+ variant := genPropertiesVariant{
+ isOutput: true,
+ isType: false,
+ isResponse: true,
+ }
+ props, err := m.genProperties(schema, variant)
+ require.NoError(t, err)
+
+ require.Len(t, props.specs, 1)
+ assert.NotContains(t, props.specs, resources.SingleValueProperty)
+ require.Len(t, props.properties, 1)
+ assert.NotContains(t, props.properties, resources.SingleValueProperty)
+ })
+}
diff --git a/provider/pkg/gen/schema.go b/provider/pkg/gen/schema.go
index 162ce47f16f7..0f1c77e972c1 100644
--- a/provider/pkg/gen/schema.go
+++ b/provider/pkg/gen/schema.go
@@ -1311,7 +1311,11 @@ func (m *moduleGenerator) genMethodParameters(parameters []spec.Parameter, ctx *
}
// The body parameter is flattened, so that all its properties become the properties of the type.
- props, err := m.genProperties(bodySchema, false /* isOutput */, false /* isType */)
+ props, err := m.genProperties(bodySchema, genPropertiesVariant{
+ isOutput: false,
+ isType: false,
+ isResponse: false,
+ })
if err != nil {
return nil, err
}
@@ -1394,7 +1398,11 @@ func (m *moduleGenerator) genResponse(statusCodeResponses map[int]spec.Response,
return nil, nil
}
- result, err := m.genProperties(responseSchema, true /* isOutput */, false /* isType */)
+ result, err := m.genProperties(responseSchema, genPropertiesVariant{
+ isOutput: true,
+ isType: false,
+ isResponse: true,
+ })
if err != nil {
return nil, err
}
diff --git a/provider/pkg/gen/types.go b/provider/pkg/gen/types.go
index f978f978975d..15dcb4859b66 100644
--- a/provider/pkg/gen/types.go
+++ b/provider/pkg/gen/types.go
@@ -78,7 +78,11 @@ func (m *moduleGenerator) genTypeSpec(propertyName string, schema *spec.Schema,
if _, ok := m.visitedTypes[tok]; !ok {
m.visitedTypes[tok] = true
- props, err := m.genProperties(resolvedSchema, isOutput, true /* isType */)
+ props, err := m.genProperties(resolvedSchema, genPropertiesVariant{
+ isOutput: isOutput,
+ isType: true,
+ isResponse: false,
+ })
if err != nil {
return nil, err
}
@@ -176,7 +180,10 @@ Example of a relative ID: $self/frontEndConfigurations/my-frontend.`
if err != nil {
return nil, err
}
- itemsSpec, _, err := m.genProperty(propertyName, resolvedSchema.Items.Schema, context, resolvedProperty, isOutput, true /* isType */)
+ itemsSpec, _, err := m.genProperty(propertyName, resolvedSchema.Items.Schema, context, resolvedProperty, genPropertiesVariant{
+ isOutput: isOutput,
+ isType: true,
+ })
if err != nil {
return nil, err
}
diff --git a/provider/pkg/provider/crud/crud.go b/provider/pkg/provider/crud/crud.go
index b082655f3b2a..91d03f0e810d 100644
--- a/provider/pkg/provider/crud/crud.go
+++ b/provider/pkg/provider/crud/crud.go
@@ -213,7 +213,7 @@ func (r *resourceCrudClient) currentResourceStateCheckpoint(ctx context.Context,
if getErr != nil {
return nil, getErr
}
- outputs := r.converter.ResponseBodyToSdkOutputs(r.res.Response, getResp)
+ outputs := r.converter.ResponseBodyToSdkOutputs(r.res.Response, getResp.(map[string]any))
obj := checkpointObject(inputs, outputs)
return plugin.MarshalProperties(
obj,
@@ -248,7 +248,7 @@ func (r *resourceCrudClient) MaintainSubResourcePropertiesIfNotSet(ctx context.C
return fmt.Errorf("reading cloud state: %w", err)
}
- writtenProperties := writePropertiesToBody(missingProperties, bodyParams, state)
+ writtenProperties := writePropertiesToBody(missingProperties, bodyParams, state.(map[string]any))
for writtenProperty, writtenValue := range writtenProperties {
logging.V(9).Infof("Maintaining remote value for property: %s.%s = %v", id, writtenProperty, writtenValue)
}
@@ -335,19 +335,30 @@ func (r *resourceCrudClient) CreateOrUpdate(ctx context.Context, id string, body
func (r *resourceCrudClient) Read(ctx context.Context, id string) (map[string]any, error) {
url := id + r.res.ReadPath
+ var resp any
+ var err error
switch r.res.ReadMethod {
case "HEAD":
- err := r.azureClient.Head(ctx, url, r.res.APIVersion)
+ err = r.azureClient.Head(ctx, url, r.res.APIVersion)
return nil, err
case "POST":
bodyParams := map[string]interface{}{}
queryParams := map[string]interface{}{
"api-version": r.res.APIVersion,
}
- return r.azureClient.Post(ctx, url, bodyParams, queryParams)
+ resp, err = r.azureClient.Post(ctx, url, bodyParams, queryParams)
default:
- return r.azureClient.Get(ctx, url, r.res.APIVersion)
+ resp, err = r.azureClient.Get(ctx, url, r.res.APIVersion)
}
+
+ if err != nil {
+ return nil, err
+ }
+ // Cast should be safe because we're reading a resource, only invokes return non-objects.
+ if respMap, ok := resp.(map[string]any); ok {
+ return respMap, nil
+ }
+ return nil, errors.Errorf("expected object from Read of '%s', got %T", url, resp)
}
type propertyPath struct {
diff --git a/provider/pkg/provider/provider.go b/provider/pkg/provider/provider.go
index 3b379246d08b..758245f0b91d 100644
--- a/provider/pkg/provider/provider.go
+++ b/provider/pkg/provider/provider.go
@@ -298,7 +298,7 @@ func (k *azureNativeProvider) Invoke(ctx context.Context, req *rpc.InvokeRequest
}
body := crud.PrepareAzureRESTBody(id, parameters, nil, args.Mappable(), k.converter)
- var response map[string]interface{}
+ var response any
if res.GetParameters != nil {
response, err = k.azureClient.Get(ctx, id, res.APIVersion)
} else if res.PostParameters != nil {
@@ -309,13 +309,10 @@ func (k *azureNativeProvider) Invoke(ctx context.Context, req *rpc.InvokeRequest
} else {
return nil, errors.Errorf("neither GET nor POST is defined for %s", label)
}
-
if err != nil {
return nil, errors.Wrapf(err, "request failed %v", id)
}
-
- // Map the raw response to the shape of outputs that the SDKs expect.
- outputs = k.converter.ResponseBodyToSdkOutputs(res.Response, response)
+ outputs = k.invokeResponseToOutputs(response, res)
}
// Serialize and return RPC outputs.
@@ -329,6 +326,14 @@ func (k *azureNativeProvider) Invoke(ctx context.Context, req *rpc.InvokeRequest
return &rpc.InvokeResponse{Return: result}, nil
}
+func (k *azureNativeProvider) invokeResponseToOutputs(response any, res resources.AzureAPIInvoke) map[string]any {
+ if responseMap, ok := response.(map[string]any); ok {
+ // Map the raw response to the shape of outputs that the SDKs expect.
+ return k.converter.ResponseBodyToSdkOutputs(res.Response, responseMap)
+ }
+ return map[string]any{resources.SingleValueProperty: response}
+}
+
// StreamInvoke dynamically executes a built-in function in the provider. The result is streamed
// back as a series of messages.
func (k *azureNativeProvider) StreamInvoke(_ *rpc.InvokeRequest, _ rpc.ResourceProvider_StreamInvokeServer) error {
@@ -453,7 +458,7 @@ func (k *azureNativeProvider) getDefaultLocation(ctx context.Context, olds, news
return nil
}
- v, ok := response["location"].(string)
+ v, ok := response.(map[string]any)["location"].(string)
if !ok {
logging.V(9).Infof("no location for resource group %q", rgName)
return nil
diff --git a/provider/pkg/provider/provider_test.go b/provider/pkg/provider/provider_test.go
index 73668f39cc93..993d7a7d1f36 100644
--- a/provider/pkg/provider/provider_test.go
+++ b/provider/pkg/provider/provider_test.go
@@ -2,11 +2,14 @@ package provider
import (
"context"
+ "fmt"
"testing"
+ "github.com/pulumi/pulumi-azure-native/v2/provider/pkg/convert"
"github.com/pulumi/pulumi-azure-native/v2/provider/pkg/resources"
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestRestoreDefaultInputs(t *testing.T) {
@@ -310,3 +313,28 @@ func TestSetUnsetSubresourcePropertiesToDefaults(t *testing.T) {
}, body)
})
}
+
+func TestInvokeResponseToOutputs(t *testing.T) {
+ conv := convert.NewSdkShapeConverterFull(map[string]resources.AzureAPIType{})
+ p := azureNativeProvider{
+ converter: &conv,
+ }
+
+ for _, val := range []any{
+ "string",
+ 42,
+ []string{"a", "b"},
+ } {
+ t.Run(fmt.Sprintf("single value of type %T", val), func(t *testing.T) {
+ outputs := p.invokeResponseToOutputs(val, resources.AzureAPIInvoke{} /* unused */)
+ require.Len(t, outputs, 1)
+ require.Contains(t, outputs, resources.SingleValueProperty)
+ assert.Equal(t, val, outputs[resources.SingleValueProperty])
+ })
+ }
+
+ t.Run("object", func(t *testing.T) {
+ outputs := p.invokeResponseToOutputs(map[string]any{"key": "value"}, resources.AzureAPIInvoke{})
+ assert.Empty(t, outputs) // the empty converter doesn't know any properties
+ })
+}
diff --git a/provider/pkg/resources/customresources/custom_blob_container_legal_hold.go b/provider/pkg/resources/customresources/custom_blob_container_legal_hold.go
index 509c85867a4c..cffb21f23382 100644
--- a/provider/pkg/resources/customresources/custom_blob_container_legal_hold.go
+++ b/provider/pkg/resources/customresources/custom_blob_container_legal_hold.go
@@ -127,7 +127,7 @@ func blobContainerLegalHold(azureClient azure.AzureClient) *CustomResource {
return nil, false, err
}
- legalHoldProp, ok := util.GetInnerMap(container, "properties", "legalHold")
+ legalHoldProp, ok := util.GetInnerMap(container.(map[string]any), "properties", "legalHold")
if !ok {
return nil, false, nil
}
@@ -246,7 +246,11 @@ func post(ctx context.Context, path string, body map[string]any, apiVersion stri
queryParams := map[string]any{
"api-version": apiVersion,
}
- return azureClient.Post(ctx, path, body, queryParams)
+ resp, err := azureClient.Post(ctx, path, body, queryParams)
+ if err != nil {
+ return nil, err
+ }
+ return resp.(map[string]any), nil
}
func readTags(p map[string]any) (codegen.StringSet, error) {
diff --git a/provider/pkg/resources/customresources/custom_blob_container_legal_hold_test.go b/provider/pkg/resources/customresources/custom_blob_container_legal_hold_test.go
index 8eeee0cf381a..6740b4f5b490 100644
--- a/provider/pkg/resources/customresources/custom_blob_container_legal_hold_test.go
+++ b/provider/pkg/resources/customresources/custom_blob_container_legal_hold_test.go
@@ -57,7 +57,7 @@ func (m *MockAzureClient) Delete(ctx context.Context, id, apiVersion, asyncStyle
func (m *MockAzureClient) CanCreate(ctx context.Context, id, path, apiVersion, readMethod string, isSingletonResource, hasDefaultBody bool, isDefaultResponse func(map[string]any) bool) error {
return nil
}
-func (m *MockAzureClient) Get(ctx context.Context, id string, apiVersion string) (map[string]interface{}, error) {
+func (m *MockAzureClient) Get(ctx context.Context, id string, apiVersion string) (any, error) {
m.getIds = append(m.getIds, id)
azureResponse := map[string]any{}
@@ -70,10 +70,10 @@ func (m *MockAzureClient) Head(ctx context.Context, id string, apiVersion string
func (m *MockAzureClient) Patch(ctx context.Context, id string, bodyProps map[string]interface{}, queryParameters map[string]interface{}, asyncStyle string) (map[string]interface{}, bool, error) {
return nil, false, nil
}
-func (m *MockAzureClient) Post(ctx context.Context, id string, bodyProps map[string]interface{}, queryParameters map[string]interface{}) (map[string]interface{}, error) {
+func (m *MockAzureClient) Post(ctx context.Context, id string, bodyProps map[string]interface{}, queryParameters map[string]interface{}) (any, error) {
m.postIds = append(m.postIds, id)
m.postBodies = append(m.postBodies, bodyProps)
- return nil, nil
+ return map[string]any{}, nil
}
func (m *MockAzureClient) Put(ctx context.Context, id string, bodyProps map[string]interface{}, queryParameters map[string]interface{}, asyncStyle string) (map[string]interface{}, bool, error) {
return nil, false, nil
diff --git a/provider/pkg/resources/resources.go b/provider/pkg/resources/resources.go
index 79b8c34dac37..526b63c1bad1 100644
--- a/provider/pkg/resources/resources.go
+++ b/provider/pkg/resources/resources.go
@@ -11,6 +11,9 @@ import (
"github.com/gedex/inflector"
)
+// SingleValueProperty is the name of the property that we insert into the schema for non-object type responses of invokes.
+const SingleValueProperty = "value"
+
// AzureAPIParameter represents a parameter of a Azure REST API endpoint.
type AzureAPIParameter struct {
Name string `json:"name"`
diff --git a/sdk/dotnet/App/GetCustomDomainVerificationId.cs b/sdk/dotnet/App/GetCustomDomainVerificationId.cs
new file mode 100644
index 000000000000..77a029ae3ed3
--- /dev/null
+++ b/sdk/dotnet/App/GetCustomDomainVerificationId.cs
@@ -0,0 +1,54 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.App
+{
+ public static class GetCustomDomainVerificationId
+ {
+ ///
+ /// Get the verification id of a subscription used for verifying custom domains
+ /// Azure REST API version: 2023-05-02-preview.
+ ///
+ /// Other available API versions: 2023-08-01-preview, 2023-11-02-preview.
+ ///
+ public static Task InvokeAsync(GetCustomDomainVerificationIdArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:app:getCustomDomainVerificationId", args ?? new GetCustomDomainVerificationIdArgs(), options.WithDefaults());
+
+ ///
+ /// Get the verification id of a subscription used for verifying custom domains
+ /// Azure REST API version: 2023-05-02-preview.
+ ///
+ /// Other available API versions: 2023-08-01-preview, 2023-11-02-preview.
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:app:getCustomDomainVerificationId", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetCustomDomainVerificationIdArgs : global::Pulumi.InvokeArgs
+ {
+ public GetCustomDomainVerificationIdArgs()
+ {
+ }
+ public static new GetCustomDomainVerificationIdArgs Empty => new GetCustomDomainVerificationIdArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetCustomDomainVerificationIdResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetCustomDomainVerificationIdResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/App/V20230502Preview/GetCustomDomainVerificationId.cs b/sdk/dotnet/App/V20230502Preview/GetCustomDomainVerificationId.cs
new file mode 100644
index 000000000000..b86eee47b2f6
--- /dev/null
+++ b/sdk/dotnet/App/V20230502Preview/GetCustomDomainVerificationId.cs
@@ -0,0 +1,48 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.App.V20230502Preview
+{
+ public static class GetCustomDomainVerificationId
+ {
+ ///
+ /// Get the verification id of a subscription used for verifying custom domains
+ ///
+ public static Task InvokeAsync(GetCustomDomainVerificationIdArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:app/v20230502preview:getCustomDomainVerificationId", args ?? new GetCustomDomainVerificationIdArgs(), options.WithDefaults());
+
+ ///
+ /// Get the verification id of a subscription used for verifying custom domains
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:app/v20230502preview:getCustomDomainVerificationId", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetCustomDomainVerificationIdArgs : global::Pulumi.InvokeArgs
+ {
+ public GetCustomDomainVerificationIdArgs()
+ {
+ }
+ public static new GetCustomDomainVerificationIdArgs Empty => new GetCustomDomainVerificationIdArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetCustomDomainVerificationIdResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetCustomDomainVerificationIdResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/App/V20230801Preview/GetCustomDomainVerificationId.cs b/sdk/dotnet/App/V20230801Preview/GetCustomDomainVerificationId.cs
new file mode 100644
index 000000000000..0be207757d39
--- /dev/null
+++ b/sdk/dotnet/App/V20230801Preview/GetCustomDomainVerificationId.cs
@@ -0,0 +1,48 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.App.V20230801Preview
+{
+ public static class GetCustomDomainVerificationId
+ {
+ ///
+ /// Get the verification id of a subscription used for verifying custom domains
+ ///
+ public static Task InvokeAsync(GetCustomDomainVerificationIdArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:app/v20230801preview:getCustomDomainVerificationId", args ?? new GetCustomDomainVerificationIdArgs(), options.WithDefaults());
+
+ ///
+ /// Get the verification id of a subscription used for verifying custom domains
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:app/v20230801preview:getCustomDomainVerificationId", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetCustomDomainVerificationIdArgs : global::Pulumi.InvokeArgs
+ {
+ public GetCustomDomainVerificationIdArgs()
+ {
+ }
+ public static new GetCustomDomainVerificationIdArgs Empty => new GetCustomDomainVerificationIdArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetCustomDomainVerificationIdResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetCustomDomainVerificationIdResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/App/V20231102Preview/GetCustomDomainVerificationId.cs b/sdk/dotnet/App/V20231102Preview/GetCustomDomainVerificationId.cs
new file mode 100644
index 000000000000..9eb2b35eb117
--- /dev/null
+++ b/sdk/dotnet/App/V20231102Preview/GetCustomDomainVerificationId.cs
@@ -0,0 +1,48 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.App.V20231102Preview
+{
+ public static class GetCustomDomainVerificationId
+ {
+ ///
+ /// Get the verification id of a subscription used for verifying custom domains
+ ///
+ public static Task InvokeAsync(GetCustomDomainVerificationIdArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:app/v20231102preview:getCustomDomainVerificationId", args ?? new GetCustomDomainVerificationIdArgs(), options.WithDefaults());
+
+ ///
+ /// Get the verification id of a subscription used for verifying custom domains
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:app/v20231102preview:getCustomDomainVerificationId", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetCustomDomainVerificationIdArgs : global::Pulumi.InvokeArgs
+ {
+ public GetCustomDomainVerificationIdArgs()
+ {
+ }
+ public static new GetCustomDomainVerificationIdArgs Empty => new GetCustomDomainVerificationIdArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetCustomDomainVerificationIdResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetCustomDomainVerificationIdResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/DBforPostgreSQL/GetGetPrivateDnsZoneSuffixExecute.cs b/sdk/dotnet/DBforPostgreSQL/GetGetPrivateDnsZoneSuffixExecute.cs
new file mode 100644
index 000000000000..b4a2300bfe3b
--- /dev/null
+++ b/sdk/dotnet/DBforPostgreSQL/GetGetPrivateDnsZoneSuffixExecute.cs
@@ -0,0 +1,54 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.DBforPostgreSQL
+{
+ public static class GetGetPrivateDnsZoneSuffixExecute
+ {
+ ///
+ /// Get private DNS zone suffix in the cloud
+ /// Azure REST API version: 2022-12-01.
+ ///
+ /// Other available API versions: 2021-03-31-privatepreview, 2021-06-01, 2022-01-20-preview, 2022-03-08-preview, 2023-03-01-preview, 2023-06-01-preview, 2023-12-01-preview.
+ ///
+ public static Task InvokeAsync(GetGetPrivateDnsZoneSuffixExecuteArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:dbforpostgresql:getGetPrivateDnsZoneSuffixExecute", args ?? new GetGetPrivateDnsZoneSuffixExecuteArgs(), options.WithDefaults());
+
+ ///
+ /// Get private DNS zone suffix in the cloud
+ /// Azure REST API version: 2022-12-01.
+ ///
+ /// Other available API versions: 2021-03-31-privatepreview, 2021-06-01, 2022-01-20-preview, 2022-03-08-preview, 2023-03-01-preview, 2023-06-01-preview, 2023-12-01-preview.
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:dbforpostgresql:getGetPrivateDnsZoneSuffixExecute", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteArgs : global::Pulumi.InvokeArgs
+ {
+ public GetGetPrivateDnsZoneSuffixExecuteArgs()
+ {
+ }
+ public static new GetGetPrivateDnsZoneSuffixExecuteArgs Empty => new GetGetPrivateDnsZoneSuffixExecuteArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetGetPrivateDnsZoneSuffixExecuteResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/DBforPostgreSQL/V20210331PrivatePreview/GetGetPrivateDnsZoneSuffixExecute.cs b/sdk/dotnet/DBforPostgreSQL/V20210331PrivatePreview/GetGetPrivateDnsZoneSuffixExecute.cs
new file mode 100644
index 000000000000..4d492eeabed4
--- /dev/null
+++ b/sdk/dotnet/DBforPostgreSQL/V20210331PrivatePreview/GetGetPrivateDnsZoneSuffixExecute.cs
@@ -0,0 +1,48 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.DBforPostgreSQL.V20210331PrivatePreview
+{
+ public static class GetGetPrivateDnsZoneSuffixExecute
+ {
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Task InvokeAsync(GetGetPrivateDnsZoneSuffixExecuteArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:dbforpostgresql/v20210331privatepreview:getGetPrivateDnsZoneSuffixExecute", args ?? new GetGetPrivateDnsZoneSuffixExecuteArgs(), options.WithDefaults());
+
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:dbforpostgresql/v20210331privatepreview:getGetPrivateDnsZoneSuffixExecute", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteArgs : global::Pulumi.InvokeArgs
+ {
+ public GetGetPrivateDnsZoneSuffixExecuteArgs()
+ {
+ }
+ public static new GetGetPrivateDnsZoneSuffixExecuteArgs Empty => new GetGetPrivateDnsZoneSuffixExecuteArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetGetPrivateDnsZoneSuffixExecuteResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/DBforPostgreSQL/V20210331PrivatePreview/README.md b/sdk/dotnet/DBforPostgreSQL/V20210331PrivatePreview/README.md
new file mode 100644
index 000000000000..b6e91921920b
--- /dev/null
+++ b/sdk/dotnet/DBforPostgreSQL/V20210331PrivatePreview/README.md
@@ -0,0 +1 @@
+A native Pulumi package for creating and managing Azure resources.
diff --git a/sdk/dotnet/DBforPostgreSQL/V20210601/GetGetPrivateDnsZoneSuffixExecute.cs b/sdk/dotnet/DBforPostgreSQL/V20210601/GetGetPrivateDnsZoneSuffixExecute.cs
new file mode 100644
index 000000000000..f6545c75600e
--- /dev/null
+++ b/sdk/dotnet/DBforPostgreSQL/V20210601/GetGetPrivateDnsZoneSuffixExecute.cs
@@ -0,0 +1,48 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.DBforPostgreSQL.V20210601
+{
+ public static class GetGetPrivateDnsZoneSuffixExecute
+ {
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Task InvokeAsync(GetGetPrivateDnsZoneSuffixExecuteArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:dbforpostgresql/v20210601:getGetPrivateDnsZoneSuffixExecute", args ?? new GetGetPrivateDnsZoneSuffixExecuteArgs(), options.WithDefaults());
+
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:dbforpostgresql/v20210601:getGetPrivateDnsZoneSuffixExecute", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteArgs : global::Pulumi.InvokeArgs
+ {
+ public GetGetPrivateDnsZoneSuffixExecuteArgs()
+ {
+ }
+ public static new GetGetPrivateDnsZoneSuffixExecuteArgs Empty => new GetGetPrivateDnsZoneSuffixExecuteArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetGetPrivateDnsZoneSuffixExecuteResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/DBforPostgreSQL/V20210601/README.md b/sdk/dotnet/DBforPostgreSQL/V20210601/README.md
new file mode 100644
index 000000000000..b6e91921920b
--- /dev/null
+++ b/sdk/dotnet/DBforPostgreSQL/V20210601/README.md
@@ -0,0 +1 @@
+A native Pulumi package for creating and managing Azure resources.
diff --git a/sdk/dotnet/DBforPostgreSQL/V20220120Preview/GetGetPrivateDnsZoneSuffixExecute.cs b/sdk/dotnet/DBforPostgreSQL/V20220120Preview/GetGetPrivateDnsZoneSuffixExecute.cs
new file mode 100644
index 000000000000..870a688d8a22
--- /dev/null
+++ b/sdk/dotnet/DBforPostgreSQL/V20220120Preview/GetGetPrivateDnsZoneSuffixExecute.cs
@@ -0,0 +1,48 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.DBforPostgreSQL.V20220120Preview
+{
+ public static class GetGetPrivateDnsZoneSuffixExecute
+ {
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Task InvokeAsync(GetGetPrivateDnsZoneSuffixExecuteArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:dbforpostgresql/v20220120preview:getGetPrivateDnsZoneSuffixExecute", args ?? new GetGetPrivateDnsZoneSuffixExecuteArgs(), options.WithDefaults());
+
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:dbforpostgresql/v20220120preview:getGetPrivateDnsZoneSuffixExecute", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteArgs : global::Pulumi.InvokeArgs
+ {
+ public GetGetPrivateDnsZoneSuffixExecuteArgs()
+ {
+ }
+ public static new GetGetPrivateDnsZoneSuffixExecuteArgs Empty => new GetGetPrivateDnsZoneSuffixExecuteArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetGetPrivateDnsZoneSuffixExecuteResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/DBforPostgreSQL/V20220120Preview/README.md b/sdk/dotnet/DBforPostgreSQL/V20220120Preview/README.md
new file mode 100644
index 000000000000..b6e91921920b
--- /dev/null
+++ b/sdk/dotnet/DBforPostgreSQL/V20220120Preview/README.md
@@ -0,0 +1 @@
+A native Pulumi package for creating and managing Azure resources.
diff --git a/sdk/dotnet/DBforPostgreSQL/V20220308Preview/GetGetPrivateDnsZoneSuffixExecute.cs b/sdk/dotnet/DBforPostgreSQL/V20220308Preview/GetGetPrivateDnsZoneSuffixExecute.cs
new file mode 100644
index 000000000000..e8125a43fcd1
--- /dev/null
+++ b/sdk/dotnet/DBforPostgreSQL/V20220308Preview/GetGetPrivateDnsZoneSuffixExecute.cs
@@ -0,0 +1,48 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.DBforPostgreSQL.V20220308Preview
+{
+ public static class GetGetPrivateDnsZoneSuffixExecute
+ {
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Task InvokeAsync(GetGetPrivateDnsZoneSuffixExecuteArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:dbforpostgresql/v20220308preview:getGetPrivateDnsZoneSuffixExecute", args ?? new GetGetPrivateDnsZoneSuffixExecuteArgs(), options.WithDefaults());
+
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:dbforpostgresql/v20220308preview:getGetPrivateDnsZoneSuffixExecute", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteArgs : global::Pulumi.InvokeArgs
+ {
+ public GetGetPrivateDnsZoneSuffixExecuteArgs()
+ {
+ }
+ public static new GetGetPrivateDnsZoneSuffixExecuteArgs Empty => new GetGetPrivateDnsZoneSuffixExecuteArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetGetPrivateDnsZoneSuffixExecuteResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/DBforPostgreSQL/V20221201/GetGetPrivateDnsZoneSuffixExecute.cs b/sdk/dotnet/DBforPostgreSQL/V20221201/GetGetPrivateDnsZoneSuffixExecute.cs
new file mode 100644
index 000000000000..5feb7d04082a
--- /dev/null
+++ b/sdk/dotnet/DBforPostgreSQL/V20221201/GetGetPrivateDnsZoneSuffixExecute.cs
@@ -0,0 +1,48 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.DBforPostgreSQL.V20221201
+{
+ public static class GetGetPrivateDnsZoneSuffixExecute
+ {
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Task InvokeAsync(GetGetPrivateDnsZoneSuffixExecuteArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:dbforpostgresql/v20221201:getGetPrivateDnsZoneSuffixExecute", args ?? new GetGetPrivateDnsZoneSuffixExecuteArgs(), options.WithDefaults());
+
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:dbforpostgresql/v20221201:getGetPrivateDnsZoneSuffixExecute", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteArgs : global::Pulumi.InvokeArgs
+ {
+ public GetGetPrivateDnsZoneSuffixExecuteArgs()
+ {
+ }
+ public static new GetGetPrivateDnsZoneSuffixExecuteArgs Empty => new GetGetPrivateDnsZoneSuffixExecuteArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetGetPrivateDnsZoneSuffixExecuteResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/DBforPostgreSQL/V20230301Preview/GetGetPrivateDnsZoneSuffixExecute.cs b/sdk/dotnet/DBforPostgreSQL/V20230301Preview/GetGetPrivateDnsZoneSuffixExecute.cs
new file mode 100644
index 000000000000..89043e04203b
--- /dev/null
+++ b/sdk/dotnet/DBforPostgreSQL/V20230301Preview/GetGetPrivateDnsZoneSuffixExecute.cs
@@ -0,0 +1,48 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.DBforPostgreSQL.V20230301Preview
+{
+ public static class GetGetPrivateDnsZoneSuffixExecute
+ {
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Task InvokeAsync(GetGetPrivateDnsZoneSuffixExecuteArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:dbforpostgresql/v20230301preview:getGetPrivateDnsZoneSuffixExecute", args ?? new GetGetPrivateDnsZoneSuffixExecuteArgs(), options.WithDefaults());
+
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:dbforpostgresql/v20230301preview:getGetPrivateDnsZoneSuffixExecute", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteArgs : global::Pulumi.InvokeArgs
+ {
+ public GetGetPrivateDnsZoneSuffixExecuteArgs()
+ {
+ }
+ public static new GetGetPrivateDnsZoneSuffixExecuteArgs Empty => new GetGetPrivateDnsZoneSuffixExecuteArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetGetPrivateDnsZoneSuffixExecuteResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/DBforPostgreSQL/V20230601Preview/GetGetPrivateDnsZoneSuffixExecute.cs b/sdk/dotnet/DBforPostgreSQL/V20230601Preview/GetGetPrivateDnsZoneSuffixExecute.cs
new file mode 100644
index 000000000000..4b4054025dff
--- /dev/null
+++ b/sdk/dotnet/DBforPostgreSQL/V20230601Preview/GetGetPrivateDnsZoneSuffixExecute.cs
@@ -0,0 +1,48 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.DBforPostgreSQL.V20230601Preview
+{
+ public static class GetGetPrivateDnsZoneSuffixExecute
+ {
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Task InvokeAsync(GetGetPrivateDnsZoneSuffixExecuteArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:dbforpostgresql/v20230601preview:getGetPrivateDnsZoneSuffixExecute", args ?? new GetGetPrivateDnsZoneSuffixExecuteArgs(), options.WithDefaults());
+
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:dbforpostgresql/v20230601preview:getGetPrivateDnsZoneSuffixExecute", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteArgs : global::Pulumi.InvokeArgs
+ {
+ public GetGetPrivateDnsZoneSuffixExecuteArgs()
+ {
+ }
+ public static new GetGetPrivateDnsZoneSuffixExecuteArgs Empty => new GetGetPrivateDnsZoneSuffixExecuteArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetGetPrivateDnsZoneSuffixExecuteResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/DBforPostgreSQL/V20231201Preview/GetGetPrivateDnsZoneSuffixExecute.cs b/sdk/dotnet/DBforPostgreSQL/V20231201Preview/GetGetPrivateDnsZoneSuffixExecute.cs
new file mode 100644
index 000000000000..ffa3a841cb15
--- /dev/null
+++ b/sdk/dotnet/DBforPostgreSQL/V20231201Preview/GetGetPrivateDnsZoneSuffixExecute.cs
@@ -0,0 +1,48 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.DBforPostgreSQL.V20231201Preview
+{
+ public static class GetGetPrivateDnsZoneSuffixExecute
+ {
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Task InvokeAsync(GetGetPrivateDnsZoneSuffixExecuteArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:dbforpostgresql/v20231201preview:getGetPrivateDnsZoneSuffixExecute", args ?? new GetGetPrivateDnsZoneSuffixExecuteArgs(), options.WithDefaults());
+
+ ///
+ /// Get private DNS zone suffix in the cloud
+ ///
+ public static Output Invoke(InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:dbforpostgresql/v20231201preview:getGetPrivateDnsZoneSuffixExecute", InvokeArgs.Empty, options.WithDefaults());
+ }
+
+
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteArgs : global::Pulumi.InvokeArgs
+ {
+ public GetGetPrivateDnsZoneSuffixExecuteArgs()
+ {
+ }
+ public static new GetGetPrivateDnsZoneSuffixExecuteArgs Empty => new GetGetPrivateDnsZoneSuffixExecuteArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetGetPrivateDnsZoneSuffixExecuteResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetGetPrivateDnsZoneSuffixExecuteResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/GetVirtualNetworkGatewayConnectionIkeSas.cs b/sdk/dotnet/Network/GetVirtualNetworkGatewayConnectionIkeSas.cs
new file mode 100644
index 000000000000..9f7ecfe1f465
--- /dev/null
+++ b/sdk/dotnet/Network/GetVirtualNetworkGatewayConnectionIkeSas.cs
@@ -0,0 +1,86 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network
+{
+ public static class GetVirtualNetworkGatewayConnectionIkeSas
+ {
+ ///
+ /// Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ /// Azure REST API version: 2023-02-01.
+ ///
+ /// Other available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayConnectionIkeSasArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network:getVirtualNetworkGatewayConnectionIkeSas", args ?? new GetVirtualNetworkGatewayConnectionIkeSasArgs(), options.WithDefaults());
+
+ ///
+ /// Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ /// Azure REST API version: 2023-02-01.
+ ///
+ /// Other available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network:getVirtualNetworkGatewayConnectionIkeSas", args ?? new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway Connection.
+ ///
+ [Input("virtualNetworkGatewayConnectionName", required: true)]
+ public string VirtualNetworkGatewayConnectionName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayConnectionIkeSasArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayConnectionIkeSasArgs Empty => new GetVirtualNetworkGatewayConnectionIkeSasArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway Connection.
+ ///
+ [Input("virtualNetworkGatewayConnectionName", required: true)]
+ public Input VirtualNetworkGatewayConnectionName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs Empty => new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayConnectionIkeSasResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs b/sdk/dotnet/Network/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
new file mode 100644
index 000000000000..7d925b80403f
--- /dev/null
+++ b/sdk/dotnet/Network/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
@@ -0,0 +1,86 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network
+{
+ public static class GetVirtualNetworkGatewayVpnProfilePackageUrl
+ {
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ /// Azure REST API version: 2023-02-01.
+ ///
+ /// Other available API versions: 2019-08-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayVpnProfilePackageUrlArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs(), options.WithDefaults());
+
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ /// Azure REST API version: 2023-02-01.
+ ///
+ /// Other available API versions: 2019-08-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public string VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public Input VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayVpnProfilePackageUrlResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/GetVpnLinkConnectionIkeSas.cs b/sdk/dotnet/Network/GetVpnLinkConnectionIkeSas.cs
new file mode 100644
index 000000000000..be68a8768948
--- /dev/null
+++ b/sdk/dotnet/Network/GetVpnLinkConnectionIkeSas.cs
@@ -0,0 +1,110 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network
+{
+ public static class GetVpnLinkConnectionIkeSas
+ {
+ ///
+ /// Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ /// Azure REST API version: 2023-02-01.
+ ///
+ /// Other available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.
+ ///
+ public static Task InvokeAsync(GetVpnLinkConnectionIkeSasArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network:getVpnLinkConnectionIkeSas", args ?? new GetVpnLinkConnectionIkeSasArgs(), options.WithDefaults());
+
+ ///
+ /// Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ /// Azure REST API version: 2023-02-01.
+ ///
+ /// Other available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.
+ ///
+ public static Output Invoke(GetVpnLinkConnectionIkeSasInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network:getVpnLinkConnectionIkeSas", args ?? new GetVpnLinkConnectionIkeSasInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVpnLinkConnectionIkeSasArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the vpn connection.
+ ///
+ [Input("connectionName", required: true)]
+ public string ConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the gateway.
+ ///
+ [Input("gatewayName", required: true)]
+ public string GatewayName { get; set; } = null!;
+
+ ///
+ /// The name of the vpn link connection.
+ ///
+ [Input("linkConnectionName", required: true)]
+ public string LinkConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ public GetVpnLinkConnectionIkeSasArgs()
+ {
+ }
+ public static new GetVpnLinkConnectionIkeSasArgs Empty => new GetVpnLinkConnectionIkeSasArgs();
+ }
+
+ public sealed class GetVpnLinkConnectionIkeSasInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the vpn connection.
+ ///
+ [Input("connectionName", required: true)]
+ public Input ConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the gateway.
+ ///
+ [Input("gatewayName", required: true)]
+ public Input GatewayName { get; set; } = null!;
+
+ ///
+ /// The name of the vpn link connection.
+ ///
+ [Input("linkConnectionName", required: true)]
+ public Input LinkConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ public GetVpnLinkConnectionIkeSasInvokeArgs()
+ {
+ }
+ public static new GetVpnLinkConnectionIkeSasInvokeArgs Empty => new GetVpnLinkConnectionIkeSasInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVpnLinkConnectionIkeSasResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVpnLinkConnectionIkeSasResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20190801/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs b/sdk/dotnet/Network/V20190801/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
new file mode 100644
index 000000000000..0387dffb9863
--- /dev/null
+++ b/sdk/dotnet/Network/V20190801/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
@@ -0,0 +1,80 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20190801
+{
+ public static class GetVirtualNetworkGatewayVpnProfilePackageUrl
+ {
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayVpnProfilePackageUrlArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20190801:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs(), options.WithDefaults());
+
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20190801:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public string VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public Input VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayVpnProfilePackageUrlResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230201/GetVirtualNetworkGatewayConnectionIkeSas.cs b/sdk/dotnet/Network/V20230201/GetVirtualNetworkGatewayConnectionIkeSas.cs
new file mode 100644
index 000000000000..1d9ca8b83f9c
--- /dev/null
+++ b/sdk/dotnet/Network/V20230201/GetVirtualNetworkGatewayConnectionIkeSas.cs
@@ -0,0 +1,80 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230201
+{
+ public static class GetVirtualNetworkGatewayConnectionIkeSas
+ {
+ ///
+ /// Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayConnectionIkeSasArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230201:getVirtualNetworkGatewayConnectionIkeSas", args ?? new GetVirtualNetworkGatewayConnectionIkeSasArgs(), options.WithDefaults());
+
+ ///
+ /// Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230201:getVirtualNetworkGatewayConnectionIkeSas", args ?? new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway Connection.
+ ///
+ [Input("virtualNetworkGatewayConnectionName", required: true)]
+ public string VirtualNetworkGatewayConnectionName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayConnectionIkeSasArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayConnectionIkeSasArgs Empty => new GetVirtualNetworkGatewayConnectionIkeSasArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway Connection.
+ ///
+ [Input("virtualNetworkGatewayConnectionName", required: true)]
+ public Input VirtualNetworkGatewayConnectionName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs Empty => new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayConnectionIkeSasResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230201/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs b/sdk/dotnet/Network/V20230201/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
new file mode 100644
index 000000000000..0e238c360dda
--- /dev/null
+++ b/sdk/dotnet/Network/V20230201/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
@@ -0,0 +1,80 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230201
+{
+ public static class GetVirtualNetworkGatewayVpnProfilePackageUrl
+ {
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayVpnProfilePackageUrlArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230201:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs(), options.WithDefaults());
+
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230201:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public string VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public Input VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayVpnProfilePackageUrlResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230201/GetVpnLinkConnectionIkeSas.cs b/sdk/dotnet/Network/V20230201/GetVpnLinkConnectionIkeSas.cs
new file mode 100644
index 000000000000..9ebf98902561
--- /dev/null
+++ b/sdk/dotnet/Network/V20230201/GetVpnLinkConnectionIkeSas.cs
@@ -0,0 +1,104 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230201
+{
+ public static class GetVpnLinkConnectionIkeSas
+ {
+ ///
+ /// Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ ///
+ public static Task InvokeAsync(GetVpnLinkConnectionIkeSasArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230201:getVpnLinkConnectionIkeSas", args ?? new GetVpnLinkConnectionIkeSasArgs(), options.WithDefaults());
+
+ ///
+ /// Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ ///
+ public static Output Invoke(GetVpnLinkConnectionIkeSasInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230201:getVpnLinkConnectionIkeSas", args ?? new GetVpnLinkConnectionIkeSasInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVpnLinkConnectionIkeSasArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the vpn connection.
+ ///
+ [Input("connectionName", required: true)]
+ public string ConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the gateway.
+ ///
+ [Input("gatewayName", required: true)]
+ public string GatewayName { get; set; } = null!;
+
+ ///
+ /// The name of the vpn link connection.
+ ///
+ [Input("linkConnectionName", required: true)]
+ public string LinkConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ public GetVpnLinkConnectionIkeSasArgs()
+ {
+ }
+ public static new GetVpnLinkConnectionIkeSasArgs Empty => new GetVpnLinkConnectionIkeSasArgs();
+ }
+
+ public sealed class GetVpnLinkConnectionIkeSasInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the vpn connection.
+ ///
+ [Input("connectionName", required: true)]
+ public Input ConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the gateway.
+ ///
+ [Input("gatewayName", required: true)]
+ public Input GatewayName { get; set; } = null!;
+
+ ///
+ /// The name of the vpn link connection.
+ ///
+ [Input("linkConnectionName", required: true)]
+ public Input LinkConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ public GetVpnLinkConnectionIkeSasInvokeArgs()
+ {
+ }
+ public static new GetVpnLinkConnectionIkeSasInvokeArgs Empty => new GetVpnLinkConnectionIkeSasInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVpnLinkConnectionIkeSasResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVpnLinkConnectionIkeSasResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230401/GetVirtualNetworkGatewayConnectionIkeSas.cs b/sdk/dotnet/Network/V20230401/GetVirtualNetworkGatewayConnectionIkeSas.cs
new file mode 100644
index 000000000000..11a9a8f39fac
--- /dev/null
+++ b/sdk/dotnet/Network/V20230401/GetVirtualNetworkGatewayConnectionIkeSas.cs
@@ -0,0 +1,80 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230401
+{
+ public static class GetVirtualNetworkGatewayConnectionIkeSas
+ {
+ ///
+ /// Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayConnectionIkeSasArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230401:getVirtualNetworkGatewayConnectionIkeSas", args ?? new GetVirtualNetworkGatewayConnectionIkeSasArgs(), options.WithDefaults());
+
+ ///
+ /// Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230401:getVirtualNetworkGatewayConnectionIkeSas", args ?? new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway Connection.
+ ///
+ [Input("virtualNetworkGatewayConnectionName", required: true)]
+ public string VirtualNetworkGatewayConnectionName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayConnectionIkeSasArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayConnectionIkeSasArgs Empty => new GetVirtualNetworkGatewayConnectionIkeSasArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway Connection.
+ ///
+ [Input("virtualNetworkGatewayConnectionName", required: true)]
+ public Input VirtualNetworkGatewayConnectionName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs Empty => new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayConnectionIkeSasResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230401/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs b/sdk/dotnet/Network/V20230401/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
new file mode 100644
index 000000000000..1db0f10a9038
--- /dev/null
+++ b/sdk/dotnet/Network/V20230401/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
@@ -0,0 +1,80 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230401
+{
+ public static class GetVirtualNetworkGatewayVpnProfilePackageUrl
+ {
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayVpnProfilePackageUrlArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230401:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs(), options.WithDefaults());
+
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230401:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public string VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public Input VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayVpnProfilePackageUrlResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230401/GetVpnLinkConnectionIkeSas.cs b/sdk/dotnet/Network/V20230401/GetVpnLinkConnectionIkeSas.cs
new file mode 100644
index 000000000000..9b51efc0ab93
--- /dev/null
+++ b/sdk/dotnet/Network/V20230401/GetVpnLinkConnectionIkeSas.cs
@@ -0,0 +1,104 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230401
+{
+ public static class GetVpnLinkConnectionIkeSas
+ {
+ ///
+ /// Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ ///
+ public static Task InvokeAsync(GetVpnLinkConnectionIkeSasArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230401:getVpnLinkConnectionIkeSas", args ?? new GetVpnLinkConnectionIkeSasArgs(), options.WithDefaults());
+
+ ///
+ /// Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ ///
+ public static Output Invoke(GetVpnLinkConnectionIkeSasInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230401:getVpnLinkConnectionIkeSas", args ?? new GetVpnLinkConnectionIkeSasInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVpnLinkConnectionIkeSasArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the vpn connection.
+ ///
+ [Input("connectionName", required: true)]
+ public string ConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the gateway.
+ ///
+ [Input("gatewayName", required: true)]
+ public string GatewayName { get; set; } = null!;
+
+ ///
+ /// The name of the vpn link connection.
+ ///
+ [Input("linkConnectionName", required: true)]
+ public string LinkConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ public GetVpnLinkConnectionIkeSasArgs()
+ {
+ }
+ public static new GetVpnLinkConnectionIkeSasArgs Empty => new GetVpnLinkConnectionIkeSasArgs();
+ }
+
+ public sealed class GetVpnLinkConnectionIkeSasInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the vpn connection.
+ ///
+ [Input("connectionName", required: true)]
+ public Input ConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the gateway.
+ ///
+ [Input("gatewayName", required: true)]
+ public Input GatewayName { get; set; } = null!;
+
+ ///
+ /// The name of the vpn link connection.
+ ///
+ [Input("linkConnectionName", required: true)]
+ public Input LinkConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ public GetVpnLinkConnectionIkeSasInvokeArgs()
+ {
+ }
+ public static new GetVpnLinkConnectionIkeSasInvokeArgs Empty => new GetVpnLinkConnectionIkeSasInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVpnLinkConnectionIkeSasResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVpnLinkConnectionIkeSasResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230501/GetVirtualNetworkGatewayConnectionIkeSas.cs b/sdk/dotnet/Network/V20230501/GetVirtualNetworkGatewayConnectionIkeSas.cs
new file mode 100644
index 000000000000..9c17c883e798
--- /dev/null
+++ b/sdk/dotnet/Network/V20230501/GetVirtualNetworkGatewayConnectionIkeSas.cs
@@ -0,0 +1,80 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230501
+{
+ public static class GetVirtualNetworkGatewayConnectionIkeSas
+ {
+ ///
+ /// Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayConnectionIkeSasArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230501:getVirtualNetworkGatewayConnectionIkeSas", args ?? new GetVirtualNetworkGatewayConnectionIkeSasArgs(), options.WithDefaults());
+
+ ///
+ /// Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230501:getVirtualNetworkGatewayConnectionIkeSas", args ?? new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway Connection.
+ ///
+ [Input("virtualNetworkGatewayConnectionName", required: true)]
+ public string VirtualNetworkGatewayConnectionName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayConnectionIkeSasArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayConnectionIkeSasArgs Empty => new GetVirtualNetworkGatewayConnectionIkeSasArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway Connection.
+ ///
+ [Input("virtualNetworkGatewayConnectionName", required: true)]
+ public Input VirtualNetworkGatewayConnectionName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs Empty => new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayConnectionIkeSasResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230501/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs b/sdk/dotnet/Network/V20230501/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
new file mode 100644
index 000000000000..2bbb0cd4f31d
--- /dev/null
+++ b/sdk/dotnet/Network/V20230501/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
@@ -0,0 +1,80 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230501
+{
+ public static class GetVirtualNetworkGatewayVpnProfilePackageUrl
+ {
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayVpnProfilePackageUrlArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230501:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs(), options.WithDefaults());
+
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230501:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public string VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public Input VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayVpnProfilePackageUrlResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230501/GetVpnLinkConnectionIkeSas.cs b/sdk/dotnet/Network/V20230501/GetVpnLinkConnectionIkeSas.cs
new file mode 100644
index 000000000000..a7d292608600
--- /dev/null
+++ b/sdk/dotnet/Network/V20230501/GetVpnLinkConnectionIkeSas.cs
@@ -0,0 +1,104 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230501
+{
+ public static class GetVpnLinkConnectionIkeSas
+ {
+ ///
+ /// Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ ///
+ public static Task InvokeAsync(GetVpnLinkConnectionIkeSasArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230501:getVpnLinkConnectionIkeSas", args ?? new GetVpnLinkConnectionIkeSasArgs(), options.WithDefaults());
+
+ ///
+ /// Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ ///
+ public static Output Invoke(GetVpnLinkConnectionIkeSasInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230501:getVpnLinkConnectionIkeSas", args ?? new GetVpnLinkConnectionIkeSasInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVpnLinkConnectionIkeSasArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the vpn connection.
+ ///
+ [Input("connectionName", required: true)]
+ public string ConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the gateway.
+ ///
+ [Input("gatewayName", required: true)]
+ public string GatewayName { get; set; } = null!;
+
+ ///
+ /// The name of the vpn link connection.
+ ///
+ [Input("linkConnectionName", required: true)]
+ public string LinkConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ public GetVpnLinkConnectionIkeSasArgs()
+ {
+ }
+ public static new GetVpnLinkConnectionIkeSasArgs Empty => new GetVpnLinkConnectionIkeSasArgs();
+ }
+
+ public sealed class GetVpnLinkConnectionIkeSasInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the vpn connection.
+ ///
+ [Input("connectionName", required: true)]
+ public Input ConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the gateway.
+ ///
+ [Input("gatewayName", required: true)]
+ public Input GatewayName { get; set; } = null!;
+
+ ///
+ /// The name of the vpn link connection.
+ ///
+ [Input("linkConnectionName", required: true)]
+ public Input LinkConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ public GetVpnLinkConnectionIkeSasInvokeArgs()
+ {
+ }
+ public static new GetVpnLinkConnectionIkeSasInvokeArgs Empty => new GetVpnLinkConnectionIkeSasInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVpnLinkConnectionIkeSasResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVpnLinkConnectionIkeSasResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230601/GetVirtualNetworkGatewayConnectionIkeSas.cs b/sdk/dotnet/Network/V20230601/GetVirtualNetworkGatewayConnectionIkeSas.cs
new file mode 100644
index 000000000000..dfbf45f61d77
--- /dev/null
+++ b/sdk/dotnet/Network/V20230601/GetVirtualNetworkGatewayConnectionIkeSas.cs
@@ -0,0 +1,80 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230601
+{
+ public static class GetVirtualNetworkGatewayConnectionIkeSas
+ {
+ ///
+ /// Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayConnectionIkeSasArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230601:getVirtualNetworkGatewayConnectionIkeSas", args ?? new GetVirtualNetworkGatewayConnectionIkeSasArgs(), options.WithDefaults());
+
+ ///
+ /// Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230601:getVirtualNetworkGatewayConnectionIkeSas", args ?? new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway Connection.
+ ///
+ [Input("virtualNetworkGatewayConnectionName", required: true)]
+ public string VirtualNetworkGatewayConnectionName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayConnectionIkeSasArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayConnectionIkeSasArgs Empty => new GetVirtualNetworkGatewayConnectionIkeSasArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway Connection.
+ ///
+ [Input("virtualNetworkGatewayConnectionName", required: true)]
+ public Input VirtualNetworkGatewayConnectionName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs Empty => new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayConnectionIkeSasResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230601/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs b/sdk/dotnet/Network/V20230601/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
new file mode 100644
index 000000000000..b3ae51acd18f
--- /dev/null
+++ b/sdk/dotnet/Network/V20230601/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
@@ -0,0 +1,80 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230601
+{
+ public static class GetVirtualNetworkGatewayVpnProfilePackageUrl
+ {
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayVpnProfilePackageUrlArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230601:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs(), options.WithDefaults());
+
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230601:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public string VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public Input VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayVpnProfilePackageUrlResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230601/GetVpnLinkConnectionIkeSas.cs b/sdk/dotnet/Network/V20230601/GetVpnLinkConnectionIkeSas.cs
new file mode 100644
index 000000000000..b57cf5128620
--- /dev/null
+++ b/sdk/dotnet/Network/V20230601/GetVpnLinkConnectionIkeSas.cs
@@ -0,0 +1,104 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230601
+{
+ public static class GetVpnLinkConnectionIkeSas
+ {
+ ///
+ /// Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ ///
+ public static Task InvokeAsync(GetVpnLinkConnectionIkeSasArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230601:getVpnLinkConnectionIkeSas", args ?? new GetVpnLinkConnectionIkeSasArgs(), options.WithDefaults());
+
+ ///
+ /// Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ ///
+ public static Output Invoke(GetVpnLinkConnectionIkeSasInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230601:getVpnLinkConnectionIkeSas", args ?? new GetVpnLinkConnectionIkeSasInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVpnLinkConnectionIkeSasArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the vpn connection.
+ ///
+ [Input("connectionName", required: true)]
+ public string ConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the gateway.
+ ///
+ [Input("gatewayName", required: true)]
+ public string GatewayName { get; set; } = null!;
+
+ ///
+ /// The name of the vpn link connection.
+ ///
+ [Input("linkConnectionName", required: true)]
+ public string LinkConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ public GetVpnLinkConnectionIkeSasArgs()
+ {
+ }
+ public static new GetVpnLinkConnectionIkeSasArgs Empty => new GetVpnLinkConnectionIkeSasArgs();
+ }
+
+ public sealed class GetVpnLinkConnectionIkeSasInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the vpn connection.
+ ///
+ [Input("connectionName", required: true)]
+ public Input ConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the gateway.
+ ///
+ [Input("gatewayName", required: true)]
+ public Input GatewayName { get; set; } = null!;
+
+ ///
+ /// The name of the vpn link connection.
+ ///
+ [Input("linkConnectionName", required: true)]
+ public Input LinkConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ public GetVpnLinkConnectionIkeSasInvokeArgs()
+ {
+ }
+ public static new GetVpnLinkConnectionIkeSasInvokeArgs Empty => new GetVpnLinkConnectionIkeSasInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVpnLinkConnectionIkeSasResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVpnLinkConnectionIkeSasResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230901/GetVirtualNetworkGatewayConnectionIkeSas.cs b/sdk/dotnet/Network/V20230901/GetVirtualNetworkGatewayConnectionIkeSas.cs
new file mode 100644
index 000000000000..e80bdc3ff1fe
--- /dev/null
+++ b/sdk/dotnet/Network/V20230901/GetVirtualNetworkGatewayConnectionIkeSas.cs
@@ -0,0 +1,80 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230901
+{
+ public static class GetVirtualNetworkGatewayConnectionIkeSas
+ {
+ ///
+ /// Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayConnectionIkeSasArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230901:getVirtualNetworkGatewayConnectionIkeSas", args ?? new GetVirtualNetworkGatewayConnectionIkeSasArgs(), options.WithDefaults());
+
+ ///
+ /// Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230901:getVirtualNetworkGatewayConnectionIkeSas", args ?? new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway Connection.
+ ///
+ [Input("virtualNetworkGatewayConnectionName", required: true)]
+ public string VirtualNetworkGatewayConnectionName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayConnectionIkeSasArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayConnectionIkeSasArgs Empty => new GetVirtualNetworkGatewayConnectionIkeSasArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway Connection.
+ ///
+ [Input("virtualNetworkGatewayConnectionName", required: true)]
+ public Input VirtualNetworkGatewayConnectionName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs Empty => new GetVirtualNetworkGatewayConnectionIkeSasInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayConnectionIkeSasResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayConnectionIkeSasResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230901/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs b/sdk/dotnet/Network/V20230901/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
new file mode 100644
index 000000000000..e26e4d9c8702
--- /dev/null
+++ b/sdk/dotnet/Network/V20230901/GetVirtualNetworkGatewayVpnProfilePackageUrl.cs
@@ -0,0 +1,80 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230901
+{
+ public static class GetVirtualNetworkGatewayVpnProfilePackageUrl
+ {
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ ///
+ public static Task InvokeAsync(GetVirtualNetworkGatewayVpnProfilePackageUrlArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230901:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs(), options.WithDefaults());
+
+ ///
+ /// Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ ///
+ public static Output Invoke(GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230901:getVirtualNetworkGatewayVpnProfilePackageUrl", args ?? new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public string VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlArgs();
+ }
+
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ ///
+ /// The name of the virtual network gateway.
+ ///
+ [Input("virtualNetworkGatewayName", required: true)]
+ public Input VirtualNetworkGatewayName { get; set; } = null!;
+
+ public GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs()
+ {
+ }
+ public static new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs Empty => new GetVirtualNetworkGatewayVpnProfilePackageUrlInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVirtualNetworkGatewayVpnProfilePackageUrlResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVirtualNetworkGatewayVpnProfilePackageUrlResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/V20230901/GetVpnLinkConnectionIkeSas.cs b/sdk/dotnet/Network/V20230901/GetVpnLinkConnectionIkeSas.cs
new file mode 100644
index 000000000000..3dbb3d51e35c
--- /dev/null
+++ b/sdk/dotnet/Network/V20230901/GetVpnLinkConnectionIkeSas.cs
@@ -0,0 +1,104 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AzureNative.Network.V20230901
+{
+ public static class GetVpnLinkConnectionIkeSas
+ {
+ ///
+ /// Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ ///
+ public static Task InvokeAsync(GetVpnLinkConnectionIkeSasArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:network/v20230901:getVpnLinkConnectionIkeSas", args ?? new GetVpnLinkConnectionIkeSasArgs(), options.WithDefaults());
+
+ ///
+ /// Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ ///
+ public static Output Invoke(GetVpnLinkConnectionIkeSasInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure-native:network/v20230901:getVpnLinkConnectionIkeSas", args ?? new GetVpnLinkConnectionIkeSasInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVpnLinkConnectionIkeSasArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the vpn connection.
+ ///
+ [Input("connectionName", required: true)]
+ public string ConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the gateway.
+ ///
+ [Input("gatewayName", required: true)]
+ public string GatewayName { get; set; } = null!;
+
+ ///
+ /// The name of the vpn link connection.
+ ///
+ [Input("linkConnectionName", required: true)]
+ public string LinkConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ public GetVpnLinkConnectionIkeSasArgs()
+ {
+ }
+ public static new GetVpnLinkConnectionIkeSasArgs Empty => new GetVpnLinkConnectionIkeSasArgs();
+ }
+
+ public sealed class GetVpnLinkConnectionIkeSasInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The name of the vpn connection.
+ ///
+ [Input("connectionName", required: true)]
+ public Input ConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the gateway.
+ ///
+ [Input("gatewayName", required: true)]
+ public Input GatewayName { get; set; } = null!;
+
+ ///
+ /// The name of the vpn link connection.
+ ///
+ [Input("linkConnectionName", required: true)]
+ public Input LinkConnectionName { get; set; } = null!;
+
+ ///
+ /// The name of the resource group.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ public GetVpnLinkConnectionIkeSasInvokeArgs()
+ {
+ }
+ public static new GetVpnLinkConnectionIkeSasInvokeArgs Empty => new GetVpnLinkConnectionIkeSasInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVpnLinkConnectionIkeSasResult
+ {
+ public readonly string? Value;
+
+ [OutputConstructor]
+ private GetVpnLinkConnectionIkeSasResult(string? value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/nodejs/app/getCustomDomainVerificationId.ts b/sdk/nodejs/app/getCustomDomainVerificationId.ts
new file mode 100644
index 000000000000..28108f14fd07
--- /dev/null
+++ b/sdk/nodejs/app/getCustomDomainVerificationId.ts
@@ -0,0 +1,38 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../utilities";
+
+/**
+ * Get the verification id of a subscription used for verifying custom domains
+ * Azure REST API version: 2023-05-02-preview.
+ *
+ * Other available API versions: 2023-08-01-preview, 2023-11-02-preview.
+ */
+export function getCustomDomainVerificationId(args?: GetCustomDomainVerificationIdArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:app:getCustomDomainVerificationId", {
+ }, opts);
+}
+
+export interface GetCustomDomainVerificationIdArgs {
+}
+
+/**
+ * Custom domain verification Id of a subscription
+ */
+export interface GetCustomDomainVerificationIdResult {
+ readonly value?: string;
+}
+/**
+ * Get the verification id of a subscription used for verifying custom domains
+ * Azure REST API version: 2023-05-02-preview.
+ *
+ * Other available API versions: 2023-08-01-preview, 2023-11-02-preview.
+ */
+export function getCustomDomainVerificationIdOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getCustomDomainVerificationId(opts))
+}
diff --git a/sdk/nodejs/app/index.ts b/sdk/nodejs/app/index.ts
index 86ebb8f8121e..6d7c37293083 100644
--- a/sdk/nodejs/app/index.ts
+++ b/sdk/nodejs/app/index.ts
@@ -140,6 +140,11 @@ export const getContainerAppsSourceControl: typeof import("./getContainerAppsSou
export const getContainerAppsSourceControlOutput: typeof import("./getContainerAppsSourceControl").getContainerAppsSourceControlOutput = null as any;
utilities.lazyLoad(exports, ["getContainerAppsSourceControl","getContainerAppsSourceControlOutput"], () => require("./getContainerAppsSourceControl"));
+export { GetCustomDomainVerificationIdArgs, GetCustomDomainVerificationIdResult } from "./getCustomDomainVerificationId";
+export const getCustomDomainVerificationId: typeof import("./getCustomDomainVerificationId").getCustomDomainVerificationId = null as any;
+export const getCustomDomainVerificationIdOutput: typeof import("./getCustomDomainVerificationId").getCustomDomainVerificationIdOutput = null as any;
+utilities.lazyLoad(exports, ["getCustomDomainVerificationId","getCustomDomainVerificationIdOutput"], () => require("./getCustomDomainVerificationId"));
+
export { GetDaprComponentArgs, GetDaprComponentResult, GetDaprComponentOutputArgs } from "./getDaprComponent";
export const getDaprComponent: typeof import("./getDaprComponent").getDaprComponent = null as any;
export const getDaprComponentOutput: typeof import("./getDaprComponent").getDaprComponentOutput = null as any;
diff --git a/sdk/nodejs/app/v20230502preview/getCustomDomainVerificationId.ts b/sdk/nodejs/app/v20230502preview/getCustomDomainVerificationId.ts
new file mode 100644
index 000000000000..66bf84d98e21
--- /dev/null
+++ b/sdk/nodejs/app/v20230502preview/getCustomDomainVerificationId.ts
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Get the verification id of a subscription used for verifying custom domains
+ */
+export function getCustomDomainVerificationId(args?: GetCustomDomainVerificationIdArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:app/v20230502preview:getCustomDomainVerificationId", {
+ }, opts);
+}
+
+export interface GetCustomDomainVerificationIdArgs {
+}
+
+/**
+ * Custom domain verification Id of a subscription
+ */
+export interface GetCustomDomainVerificationIdResult {
+ readonly value?: string;
+}
+/**
+ * Get the verification id of a subscription used for verifying custom domains
+ */
+export function getCustomDomainVerificationIdOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getCustomDomainVerificationId(opts))
+}
diff --git a/sdk/nodejs/app/v20230502preview/index.ts b/sdk/nodejs/app/v20230502preview/index.ts
index f27ec330e7e7..37966b3c72d5 100644
--- a/sdk/nodejs/app/v20230502preview/index.ts
+++ b/sdk/nodejs/app/v20230502preview/index.ts
@@ -95,6 +95,11 @@ export const getContainerAppsSourceControl: typeof import("./getContainerAppsSou
export const getContainerAppsSourceControlOutput: typeof import("./getContainerAppsSourceControl").getContainerAppsSourceControlOutput = null as any;
utilities.lazyLoad(exports, ["getContainerAppsSourceControl","getContainerAppsSourceControlOutput"], () => require("./getContainerAppsSourceControl"));
+export { GetCustomDomainVerificationIdArgs, GetCustomDomainVerificationIdResult } from "./getCustomDomainVerificationId";
+export const getCustomDomainVerificationId: typeof import("./getCustomDomainVerificationId").getCustomDomainVerificationId = null as any;
+export const getCustomDomainVerificationIdOutput: typeof import("./getCustomDomainVerificationId").getCustomDomainVerificationIdOutput = null as any;
+utilities.lazyLoad(exports, ["getCustomDomainVerificationId","getCustomDomainVerificationIdOutput"], () => require("./getCustomDomainVerificationId"));
+
export { GetDaprComponentArgs, GetDaprComponentResult, GetDaprComponentOutputArgs } from "./getDaprComponent";
export const getDaprComponent: typeof import("./getDaprComponent").getDaprComponent = null as any;
export const getDaprComponentOutput: typeof import("./getDaprComponent").getDaprComponentOutput = null as any;
diff --git a/sdk/nodejs/app/v20230801preview/getCustomDomainVerificationId.ts b/sdk/nodejs/app/v20230801preview/getCustomDomainVerificationId.ts
new file mode 100644
index 000000000000..c59215f62f79
--- /dev/null
+++ b/sdk/nodejs/app/v20230801preview/getCustomDomainVerificationId.ts
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Get the verification id of a subscription used for verifying custom domains
+ */
+export function getCustomDomainVerificationId(args?: GetCustomDomainVerificationIdArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:app/v20230801preview:getCustomDomainVerificationId", {
+ }, opts);
+}
+
+export interface GetCustomDomainVerificationIdArgs {
+}
+
+/**
+ * Custom domain verification Id of a subscription
+ */
+export interface GetCustomDomainVerificationIdResult {
+ readonly value?: string;
+}
+/**
+ * Get the verification id of a subscription used for verifying custom domains
+ */
+export function getCustomDomainVerificationIdOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getCustomDomainVerificationId(opts))
+}
diff --git a/sdk/nodejs/app/v20230801preview/index.ts b/sdk/nodejs/app/v20230801preview/index.ts
index 0f36b9d01e05..81bab5b749a9 100644
--- a/sdk/nodejs/app/v20230801preview/index.ts
+++ b/sdk/nodejs/app/v20230801preview/index.ts
@@ -135,6 +135,11 @@ export const getContainerAppsSourceControl: typeof import("./getContainerAppsSou
export const getContainerAppsSourceControlOutput: typeof import("./getContainerAppsSourceControl").getContainerAppsSourceControlOutput = null as any;
utilities.lazyLoad(exports, ["getContainerAppsSourceControl","getContainerAppsSourceControlOutput"], () => require("./getContainerAppsSourceControl"));
+export { GetCustomDomainVerificationIdArgs, GetCustomDomainVerificationIdResult } from "./getCustomDomainVerificationId";
+export const getCustomDomainVerificationId: typeof import("./getCustomDomainVerificationId").getCustomDomainVerificationId = null as any;
+export const getCustomDomainVerificationIdOutput: typeof import("./getCustomDomainVerificationId").getCustomDomainVerificationIdOutput = null as any;
+utilities.lazyLoad(exports, ["getCustomDomainVerificationId","getCustomDomainVerificationIdOutput"], () => require("./getCustomDomainVerificationId"));
+
export { GetDaprComponentArgs, GetDaprComponentResult, GetDaprComponentOutputArgs } from "./getDaprComponent";
export const getDaprComponent: typeof import("./getDaprComponent").getDaprComponent = null as any;
export const getDaprComponentOutput: typeof import("./getDaprComponent").getDaprComponentOutput = null as any;
diff --git a/sdk/nodejs/app/v20231102preview/getCustomDomainVerificationId.ts b/sdk/nodejs/app/v20231102preview/getCustomDomainVerificationId.ts
new file mode 100644
index 000000000000..bcd79bd007de
--- /dev/null
+++ b/sdk/nodejs/app/v20231102preview/getCustomDomainVerificationId.ts
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Get the verification id of a subscription used for verifying custom domains
+ */
+export function getCustomDomainVerificationId(args?: GetCustomDomainVerificationIdArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:app/v20231102preview:getCustomDomainVerificationId", {
+ }, opts);
+}
+
+export interface GetCustomDomainVerificationIdArgs {
+}
+
+/**
+ * Custom domain verification Id of a subscription
+ */
+export interface GetCustomDomainVerificationIdResult {
+ readonly value?: string;
+}
+/**
+ * Get the verification id of a subscription used for verifying custom domains
+ */
+export function getCustomDomainVerificationIdOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getCustomDomainVerificationId(opts))
+}
diff --git a/sdk/nodejs/app/v20231102preview/index.ts b/sdk/nodejs/app/v20231102preview/index.ts
index 450d98e5ffff..dc041f512dc5 100644
--- a/sdk/nodejs/app/v20231102preview/index.ts
+++ b/sdk/nodejs/app/v20231102preview/index.ts
@@ -140,6 +140,11 @@ export const getContainerAppsSourceControl: typeof import("./getContainerAppsSou
export const getContainerAppsSourceControlOutput: typeof import("./getContainerAppsSourceControl").getContainerAppsSourceControlOutput = null as any;
utilities.lazyLoad(exports, ["getContainerAppsSourceControl","getContainerAppsSourceControlOutput"], () => require("./getContainerAppsSourceControl"));
+export { GetCustomDomainVerificationIdArgs, GetCustomDomainVerificationIdResult } from "./getCustomDomainVerificationId";
+export const getCustomDomainVerificationId: typeof import("./getCustomDomainVerificationId").getCustomDomainVerificationId = null as any;
+export const getCustomDomainVerificationIdOutput: typeof import("./getCustomDomainVerificationId").getCustomDomainVerificationIdOutput = null as any;
+utilities.lazyLoad(exports, ["getCustomDomainVerificationId","getCustomDomainVerificationIdOutput"], () => require("./getCustomDomainVerificationId"));
+
export { GetDaprComponentArgs, GetDaprComponentResult, GetDaprComponentOutputArgs } from "./getDaprComponent";
export const getDaprComponent: typeof import("./getDaprComponent").getDaprComponent = null as any;
export const getDaprComponentOutput: typeof import("./getDaprComponent").getDaprComponentOutput = null as any;
diff --git a/sdk/nodejs/dbforpostgresql/getGetPrivateDnsZoneSuffixExecute.ts b/sdk/nodejs/dbforpostgresql/getGetPrivateDnsZoneSuffixExecute.ts
new file mode 100644
index 000000000000..a9a2f2c1bb2b
--- /dev/null
+++ b/sdk/nodejs/dbforpostgresql/getGetPrivateDnsZoneSuffixExecute.ts
@@ -0,0 +1,38 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../utilities";
+
+/**
+ * Get private DNS zone suffix in the cloud
+ * Azure REST API version: 2022-12-01.
+ *
+ * Other available API versions: 2021-03-31-privatepreview, 2021-06-01, 2022-01-20-preview, 2022-03-08-preview, 2023-03-01-preview, 2023-06-01-preview, 2023-12-01-preview.
+ */
+export function getGetPrivateDnsZoneSuffixExecute(args?: GetGetPrivateDnsZoneSuffixExecuteArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:dbforpostgresql:getGetPrivateDnsZoneSuffixExecute", {
+ }, opts);
+}
+
+export interface GetGetPrivateDnsZoneSuffixExecuteArgs {
+}
+
+/**
+ * Represents a resource name availability.
+ */
+export interface GetGetPrivateDnsZoneSuffixExecuteResult {
+ readonly value?: string;
+}
+/**
+ * Get private DNS zone suffix in the cloud
+ * Azure REST API version: 2022-12-01.
+ *
+ * Other available API versions: 2021-03-31-privatepreview, 2021-06-01, 2022-01-20-preview, 2022-03-08-preview, 2023-03-01-preview, 2023-06-01-preview, 2023-12-01-preview.
+ */
+export function getGetPrivateDnsZoneSuffixExecuteOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getGetPrivateDnsZoneSuffixExecute(opts))
+}
diff --git a/sdk/nodejs/dbforpostgresql/index.ts b/sdk/nodejs/dbforpostgresql/index.ts
index 00c39f35f268..0a363ddcd005 100644
--- a/sdk/nodejs/dbforpostgresql/index.ts
+++ b/sdk/nodejs/dbforpostgresql/index.ts
@@ -55,6 +55,11 @@ export const getFirewallRule: typeof import("./getFirewallRule").getFirewallRule
export const getFirewallRuleOutput: typeof import("./getFirewallRule").getFirewallRuleOutput = null as any;
utilities.lazyLoad(exports, ["getFirewallRule","getFirewallRuleOutput"], () => require("./getFirewallRule"));
+export { GetGetPrivateDnsZoneSuffixExecuteArgs, GetGetPrivateDnsZoneSuffixExecuteResult } from "./getGetPrivateDnsZoneSuffixExecute";
+export const getGetPrivateDnsZoneSuffixExecute: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecute = null as any;
+export const getGetPrivateDnsZoneSuffixExecuteOutput: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecuteOutput = null as any;
+utilities.lazyLoad(exports, ["getGetPrivateDnsZoneSuffixExecute","getGetPrivateDnsZoneSuffixExecuteOutput"], () => require("./getGetPrivateDnsZoneSuffixExecute"));
+
export { GetMigrationArgs, GetMigrationResult, GetMigrationOutputArgs } from "./getMigration";
export const getMigration: typeof import("./getMigration").getMigration = null as any;
export const getMigrationOutput: typeof import("./getMigration").getMigrationOutput = null as any;
@@ -116,8 +121,11 @@ import * as v20180601privatepreview from "./v20180601privatepreview";
import * as v20200214preview from "./v20200214preview";
import * as v20200214privatepreview from "./v20200214privatepreview";
import * as v20201005privatepreview from "./v20201005privatepreview";
+import * as v20210331privatepreview from "./v20210331privatepreview";
import * as v20210410privatepreview from "./v20210410privatepreview";
+import * as v20210601 from "./v20210601";
import * as v20210615privatepreview from "./v20210615privatepreview";
+import * as v20220120preview from "./v20220120preview";
import * as v20220308preview from "./v20220308preview";
import * as v20220308privatepreview from "./v20220308privatepreview";
import * as v20220501preview from "./v20220501preview";
@@ -135,8 +143,11 @@ export {
v20200214preview,
v20200214privatepreview,
v20201005privatepreview,
+ v20210331privatepreview,
v20210410privatepreview,
+ v20210601,
v20210615privatepreview,
+ v20220120preview,
v20220308preview,
v20220308privatepreview,
v20220501preview,
diff --git a/sdk/nodejs/dbforpostgresql/v20210331privatepreview/getGetPrivateDnsZoneSuffixExecute.ts b/sdk/nodejs/dbforpostgresql/v20210331privatepreview/getGetPrivateDnsZoneSuffixExecute.ts
new file mode 100644
index 000000000000..321ebe23570b
--- /dev/null
+++ b/sdk/nodejs/dbforpostgresql/v20210331privatepreview/getGetPrivateDnsZoneSuffixExecute.ts
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecute(args?: GetGetPrivateDnsZoneSuffixExecuteArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:dbforpostgresql/v20210331privatepreview:getGetPrivateDnsZoneSuffixExecute", {
+ }, opts);
+}
+
+export interface GetGetPrivateDnsZoneSuffixExecuteArgs {
+}
+
+/**
+ * Represents a resource name availability.
+ */
+export interface GetGetPrivateDnsZoneSuffixExecuteResult {
+ readonly value?: string;
+}
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecuteOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getGetPrivateDnsZoneSuffixExecute(opts))
+}
diff --git a/sdk/nodejs/dbforpostgresql/v20210331privatepreview/index.ts b/sdk/nodejs/dbforpostgresql/v20210331privatepreview/index.ts
new file mode 100644
index 000000000000..bfd317e53b99
--- /dev/null
+++ b/sdk/nodejs/dbforpostgresql/v20210331privatepreview/index.ts
@@ -0,0 +1,11 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as utilities from "../../utilities";
+
+// Export members:
+export { GetGetPrivateDnsZoneSuffixExecuteArgs, GetGetPrivateDnsZoneSuffixExecuteResult } from "./getGetPrivateDnsZoneSuffixExecute";
+export const getGetPrivateDnsZoneSuffixExecute: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecute = null as any;
+export const getGetPrivateDnsZoneSuffixExecuteOutput: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecuteOutput = null as any;
+utilities.lazyLoad(exports, ["getGetPrivateDnsZoneSuffixExecute","getGetPrivateDnsZoneSuffixExecuteOutput"], () => require("./getGetPrivateDnsZoneSuffixExecute"));
+
diff --git a/sdk/nodejs/dbforpostgresql/v20210601/getGetPrivateDnsZoneSuffixExecute.ts b/sdk/nodejs/dbforpostgresql/v20210601/getGetPrivateDnsZoneSuffixExecute.ts
new file mode 100644
index 000000000000..2418c7b57094
--- /dev/null
+++ b/sdk/nodejs/dbforpostgresql/v20210601/getGetPrivateDnsZoneSuffixExecute.ts
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecute(args?: GetGetPrivateDnsZoneSuffixExecuteArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:dbforpostgresql/v20210601:getGetPrivateDnsZoneSuffixExecute", {
+ }, opts);
+}
+
+export interface GetGetPrivateDnsZoneSuffixExecuteArgs {
+}
+
+/**
+ * Represents a resource name availability.
+ */
+export interface GetGetPrivateDnsZoneSuffixExecuteResult {
+ readonly value?: string;
+}
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecuteOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getGetPrivateDnsZoneSuffixExecute(opts))
+}
diff --git a/sdk/nodejs/dbforpostgresql/v20210601/index.ts b/sdk/nodejs/dbforpostgresql/v20210601/index.ts
new file mode 100644
index 000000000000..bfd317e53b99
--- /dev/null
+++ b/sdk/nodejs/dbforpostgresql/v20210601/index.ts
@@ -0,0 +1,11 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as utilities from "../../utilities";
+
+// Export members:
+export { GetGetPrivateDnsZoneSuffixExecuteArgs, GetGetPrivateDnsZoneSuffixExecuteResult } from "./getGetPrivateDnsZoneSuffixExecute";
+export const getGetPrivateDnsZoneSuffixExecute: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecute = null as any;
+export const getGetPrivateDnsZoneSuffixExecuteOutput: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecuteOutput = null as any;
+utilities.lazyLoad(exports, ["getGetPrivateDnsZoneSuffixExecute","getGetPrivateDnsZoneSuffixExecuteOutput"], () => require("./getGetPrivateDnsZoneSuffixExecute"));
+
diff --git a/sdk/nodejs/dbforpostgresql/v20220120preview/getGetPrivateDnsZoneSuffixExecute.ts b/sdk/nodejs/dbforpostgresql/v20220120preview/getGetPrivateDnsZoneSuffixExecute.ts
new file mode 100644
index 000000000000..c6933dc4a1d2
--- /dev/null
+++ b/sdk/nodejs/dbforpostgresql/v20220120preview/getGetPrivateDnsZoneSuffixExecute.ts
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecute(args?: GetGetPrivateDnsZoneSuffixExecuteArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:dbforpostgresql/v20220120preview:getGetPrivateDnsZoneSuffixExecute", {
+ }, opts);
+}
+
+export interface GetGetPrivateDnsZoneSuffixExecuteArgs {
+}
+
+/**
+ * Represents a resource name availability.
+ */
+export interface GetGetPrivateDnsZoneSuffixExecuteResult {
+ readonly value?: string;
+}
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecuteOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getGetPrivateDnsZoneSuffixExecute(opts))
+}
diff --git a/sdk/nodejs/dbforpostgresql/v20220120preview/index.ts b/sdk/nodejs/dbforpostgresql/v20220120preview/index.ts
new file mode 100644
index 000000000000..bfd317e53b99
--- /dev/null
+++ b/sdk/nodejs/dbforpostgresql/v20220120preview/index.ts
@@ -0,0 +1,11 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as utilities from "../../utilities";
+
+// Export members:
+export { GetGetPrivateDnsZoneSuffixExecuteArgs, GetGetPrivateDnsZoneSuffixExecuteResult } from "./getGetPrivateDnsZoneSuffixExecute";
+export const getGetPrivateDnsZoneSuffixExecute: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecute = null as any;
+export const getGetPrivateDnsZoneSuffixExecuteOutput: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecuteOutput = null as any;
+utilities.lazyLoad(exports, ["getGetPrivateDnsZoneSuffixExecute","getGetPrivateDnsZoneSuffixExecuteOutput"], () => require("./getGetPrivateDnsZoneSuffixExecute"));
+
diff --git a/sdk/nodejs/dbforpostgresql/v20220308preview/getGetPrivateDnsZoneSuffixExecute.ts b/sdk/nodejs/dbforpostgresql/v20220308preview/getGetPrivateDnsZoneSuffixExecute.ts
new file mode 100644
index 000000000000..719216fb10a1
--- /dev/null
+++ b/sdk/nodejs/dbforpostgresql/v20220308preview/getGetPrivateDnsZoneSuffixExecute.ts
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecute(args?: GetGetPrivateDnsZoneSuffixExecuteArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:dbforpostgresql/v20220308preview:getGetPrivateDnsZoneSuffixExecute", {
+ }, opts);
+}
+
+export interface GetGetPrivateDnsZoneSuffixExecuteArgs {
+}
+
+/**
+ * Represents a resource name availability.
+ */
+export interface GetGetPrivateDnsZoneSuffixExecuteResult {
+ readonly value?: string;
+}
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecuteOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getGetPrivateDnsZoneSuffixExecute(opts))
+}
diff --git a/sdk/nodejs/dbforpostgresql/v20220308preview/index.ts b/sdk/nodejs/dbforpostgresql/v20220308preview/index.ts
index 442670bd7281..10b7eac53805 100644
--- a/sdk/nodejs/dbforpostgresql/v20220308preview/index.ts
+++ b/sdk/nodejs/dbforpostgresql/v20220308preview/index.ts
@@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi";
import * as utilities from "../../utilities";
// Export members:
+export { GetGetPrivateDnsZoneSuffixExecuteArgs, GetGetPrivateDnsZoneSuffixExecuteResult } from "./getGetPrivateDnsZoneSuffixExecute";
+export const getGetPrivateDnsZoneSuffixExecute: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecute = null as any;
+export const getGetPrivateDnsZoneSuffixExecuteOutput: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecuteOutput = null as any;
+utilities.lazyLoad(exports, ["getGetPrivateDnsZoneSuffixExecute","getGetPrivateDnsZoneSuffixExecuteOutput"], () => require("./getGetPrivateDnsZoneSuffixExecute"));
+
export { GetServerArgs, GetServerResult, GetServerOutputArgs } from "./getServer";
export const getServer: typeof import("./getServer").getServer = null as any;
export const getServerOutput: typeof import("./getServer").getServerOutput = null as any;
diff --git a/sdk/nodejs/dbforpostgresql/v20221201/getGetPrivateDnsZoneSuffixExecute.ts b/sdk/nodejs/dbforpostgresql/v20221201/getGetPrivateDnsZoneSuffixExecute.ts
new file mode 100644
index 000000000000..09f319f755eb
--- /dev/null
+++ b/sdk/nodejs/dbforpostgresql/v20221201/getGetPrivateDnsZoneSuffixExecute.ts
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecute(args?: GetGetPrivateDnsZoneSuffixExecuteArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:dbforpostgresql/v20221201:getGetPrivateDnsZoneSuffixExecute", {
+ }, opts);
+}
+
+export interface GetGetPrivateDnsZoneSuffixExecuteArgs {
+}
+
+/**
+ * Represents a resource name availability.
+ */
+export interface GetGetPrivateDnsZoneSuffixExecuteResult {
+ readonly value?: string;
+}
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecuteOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getGetPrivateDnsZoneSuffixExecute(opts))
+}
diff --git a/sdk/nodejs/dbforpostgresql/v20221201/index.ts b/sdk/nodejs/dbforpostgresql/v20221201/index.ts
index 0461adff11a3..2155f10c2e05 100644
--- a/sdk/nodejs/dbforpostgresql/v20221201/index.ts
+++ b/sdk/nodejs/dbforpostgresql/v20221201/index.ts
@@ -45,6 +45,11 @@ export const getFirewallRule: typeof import("./getFirewallRule").getFirewallRule
export const getFirewallRuleOutput: typeof import("./getFirewallRule").getFirewallRuleOutput = null as any;
utilities.lazyLoad(exports, ["getFirewallRule","getFirewallRuleOutput"], () => require("./getFirewallRule"));
+export { GetGetPrivateDnsZoneSuffixExecuteArgs, GetGetPrivateDnsZoneSuffixExecuteResult } from "./getGetPrivateDnsZoneSuffixExecute";
+export const getGetPrivateDnsZoneSuffixExecute: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecute = null as any;
+export const getGetPrivateDnsZoneSuffixExecuteOutput: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecuteOutput = null as any;
+utilities.lazyLoad(exports, ["getGetPrivateDnsZoneSuffixExecute","getGetPrivateDnsZoneSuffixExecuteOutput"], () => require("./getGetPrivateDnsZoneSuffixExecute"));
+
export { GetServerArgs, GetServerResult, GetServerOutputArgs } from "./getServer";
export const getServer: typeof import("./getServer").getServer = null as any;
export const getServerOutput: typeof import("./getServer").getServerOutput = null as any;
diff --git a/sdk/nodejs/dbforpostgresql/v20230301preview/getGetPrivateDnsZoneSuffixExecute.ts b/sdk/nodejs/dbforpostgresql/v20230301preview/getGetPrivateDnsZoneSuffixExecute.ts
new file mode 100644
index 000000000000..3a7c539ddc03
--- /dev/null
+++ b/sdk/nodejs/dbforpostgresql/v20230301preview/getGetPrivateDnsZoneSuffixExecute.ts
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecute(args?: GetGetPrivateDnsZoneSuffixExecuteArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:dbforpostgresql/v20230301preview:getGetPrivateDnsZoneSuffixExecute", {
+ }, opts);
+}
+
+export interface GetGetPrivateDnsZoneSuffixExecuteArgs {
+}
+
+/**
+ * Represents a resource name availability.
+ */
+export interface GetGetPrivateDnsZoneSuffixExecuteResult {
+ readonly value?: string;
+}
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecuteOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getGetPrivateDnsZoneSuffixExecute(opts))
+}
diff --git a/sdk/nodejs/dbforpostgresql/v20230301preview/index.ts b/sdk/nodejs/dbforpostgresql/v20230301preview/index.ts
index 994dd260fbdf..5ae429828f80 100644
--- a/sdk/nodejs/dbforpostgresql/v20230301preview/index.ts
+++ b/sdk/nodejs/dbforpostgresql/v20230301preview/index.ts
@@ -45,6 +45,11 @@ export const getFirewallRule: typeof import("./getFirewallRule").getFirewallRule
export const getFirewallRuleOutput: typeof import("./getFirewallRule").getFirewallRuleOutput = null as any;
utilities.lazyLoad(exports, ["getFirewallRule","getFirewallRuleOutput"], () => require("./getFirewallRule"));
+export { GetGetPrivateDnsZoneSuffixExecuteArgs, GetGetPrivateDnsZoneSuffixExecuteResult } from "./getGetPrivateDnsZoneSuffixExecute";
+export const getGetPrivateDnsZoneSuffixExecute: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecute = null as any;
+export const getGetPrivateDnsZoneSuffixExecuteOutput: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecuteOutput = null as any;
+utilities.lazyLoad(exports, ["getGetPrivateDnsZoneSuffixExecute","getGetPrivateDnsZoneSuffixExecuteOutput"], () => require("./getGetPrivateDnsZoneSuffixExecute"));
+
export { GetMigrationArgs, GetMigrationResult, GetMigrationOutputArgs } from "./getMigration";
export const getMigration: typeof import("./getMigration").getMigration = null as any;
export const getMigrationOutput: typeof import("./getMigration").getMigrationOutput = null as any;
diff --git a/sdk/nodejs/dbforpostgresql/v20230601preview/getGetPrivateDnsZoneSuffixExecute.ts b/sdk/nodejs/dbforpostgresql/v20230601preview/getGetPrivateDnsZoneSuffixExecute.ts
new file mode 100644
index 000000000000..39b47ac5d24e
--- /dev/null
+++ b/sdk/nodejs/dbforpostgresql/v20230601preview/getGetPrivateDnsZoneSuffixExecute.ts
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecute(args?: GetGetPrivateDnsZoneSuffixExecuteArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:dbforpostgresql/v20230601preview:getGetPrivateDnsZoneSuffixExecute", {
+ }, opts);
+}
+
+export interface GetGetPrivateDnsZoneSuffixExecuteArgs {
+}
+
+/**
+ * Represents a resource name availability.
+ */
+export interface GetGetPrivateDnsZoneSuffixExecuteResult {
+ readonly value?: string;
+}
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecuteOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getGetPrivateDnsZoneSuffixExecute(opts))
+}
diff --git a/sdk/nodejs/dbforpostgresql/v20230601preview/index.ts b/sdk/nodejs/dbforpostgresql/v20230601preview/index.ts
index 51c4e6ce8667..a43693773cc3 100644
--- a/sdk/nodejs/dbforpostgresql/v20230601preview/index.ts
+++ b/sdk/nodejs/dbforpostgresql/v20230601preview/index.ts
@@ -45,6 +45,11 @@ export const getFirewallRule: typeof import("./getFirewallRule").getFirewallRule
export const getFirewallRuleOutput: typeof import("./getFirewallRule").getFirewallRuleOutput = null as any;
utilities.lazyLoad(exports, ["getFirewallRule","getFirewallRuleOutput"], () => require("./getFirewallRule"));
+export { GetGetPrivateDnsZoneSuffixExecuteArgs, GetGetPrivateDnsZoneSuffixExecuteResult } from "./getGetPrivateDnsZoneSuffixExecute";
+export const getGetPrivateDnsZoneSuffixExecute: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecute = null as any;
+export const getGetPrivateDnsZoneSuffixExecuteOutput: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecuteOutput = null as any;
+utilities.lazyLoad(exports, ["getGetPrivateDnsZoneSuffixExecute","getGetPrivateDnsZoneSuffixExecuteOutput"], () => require("./getGetPrivateDnsZoneSuffixExecute"));
+
export { GetMigrationArgs, GetMigrationResult, GetMigrationOutputArgs } from "./getMigration";
export const getMigration: typeof import("./getMigration").getMigration = null as any;
export const getMigrationOutput: typeof import("./getMigration").getMigrationOutput = null as any;
diff --git a/sdk/nodejs/dbforpostgresql/v20231201preview/getGetPrivateDnsZoneSuffixExecute.ts b/sdk/nodejs/dbforpostgresql/v20231201preview/getGetPrivateDnsZoneSuffixExecute.ts
new file mode 100644
index 000000000000..f6e628995e25
--- /dev/null
+++ b/sdk/nodejs/dbforpostgresql/v20231201preview/getGetPrivateDnsZoneSuffixExecute.ts
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecute(args?: GetGetPrivateDnsZoneSuffixExecuteArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:dbforpostgresql/v20231201preview:getGetPrivateDnsZoneSuffixExecute", {
+ }, opts);
+}
+
+export interface GetGetPrivateDnsZoneSuffixExecuteArgs {
+}
+
+/**
+ * Represents a resource name availability.
+ */
+export interface GetGetPrivateDnsZoneSuffixExecuteResult {
+ readonly value?: string;
+}
+/**
+ * Get private DNS zone suffix in the cloud
+ */
+export function getGetPrivateDnsZoneSuffixExecuteOutput(opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(getGetPrivateDnsZoneSuffixExecute(opts))
+}
diff --git a/sdk/nodejs/dbforpostgresql/v20231201preview/index.ts b/sdk/nodejs/dbforpostgresql/v20231201preview/index.ts
index fdad3deaa2a3..e00de606ac40 100644
--- a/sdk/nodejs/dbforpostgresql/v20231201preview/index.ts
+++ b/sdk/nodejs/dbforpostgresql/v20231201preview/index.ts
@@ -45,6 +45,11 @@ export const getFirewallRule: typeof import("./getFirewallRule").getFirewallRule
export const getFirewallRuleOutput: typeof import("./getFirewallRule").getFirewallRuleOutput = null as any;
utilities.lazyLoad(exports, ["getFirewallRule","getFirewallRuleOutput"], () => require("./getFirewallRule"));
+export { GetGetPrivateDnsZoneSuffixExecuteArgs, GetGetPrivateDnsZoneSuffixExecuteResult } from "./getGetPrivateDnsZoneSuffixExecute";
+export const getGetPrivateDnsZoneSuffixExecute: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecute = null as any;
+export const getGetPrivateDnsZoneSuffixExecuteOutput: typeof import("./getGetPrivateDnsZoneSuffixExecute").getGetPrivateDnsZoneSuffixExecuteOutput = null as any;
+utilities.lazyLoad(exports, ["getGetPrivateDnsZoneSuffixExecute","getGetPrivateDnsZoneSuffixExecuteOutput"], () => require("./getGetPrivateDnsZoneSuffixExecute"));
+
export { GetMigrationArgs, GetMigrationResult, GetMigrationOutputArgs } from "./getMigration";
export const getMigration: typeof import("./getMigration").getMigration = null as any;
export const getMigrationOutput: typeof import("./getMigration").getMigrationOutput = null as any;
diff --git a/sdk/nodejs/network/getVirtualNetworkGatewayConnectionIkeSas.ts b/sdk/nodejs/network/getVirtualNetworkGatewayConnectionIkeSas.ts
new file mode 100644
index 000000000000..23e1e9100dc0
--- /dev/null
+++ b/sdk/nodejs/network/getVirtualNetworkGatewayConnectionIkeSas.ts
@@ -0,0 +1,55 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../utilities";
+
+/**
+ * Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ * Azure REST API version: 2023-02-01.
+ *
+ * Other available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.
+ */
+export function getVirtualNetworkGatewayConnectionIkeSas(args: GetVirtualNetworkGatewayConnectionIkeSasArgs, opts?: pulumi.InvokeOptions): Promise {
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:network:getVirtualNetworkGatewayConnectionIkeSas", {
+ "resourceGroupName": args.resourceGroupName,
+ "virtualNetworkGatewayConnectionName": args.virtualNetworkGatewayConnectionName,
+ }, opts);
+}
+
+export interface GetVirtualNetworkGatewayConnectionIkeSasArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: string;
+ /**
+ * The name of the virtual network gateway Connection.
+ */
+ virtualNetworkGatewayConnectionName: string;
+}
+
+export interface GetVirtualNetworkGatewayConnectionIkeSasResult {
+ readonly value?: string;
+}
+/**
+ * Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ * Azure REST API version: 2023-02-01.
+ *
+ * Other available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.
+ */
+export function getVirtualNetworkGatewayConnectionIkeSasOutput(args: GetVirtualNetworkGatewayConnectionIkeSasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(args).apply((a: any) => getVirtualNetworkGatewayConnectionIkeSas(a, opts))
+}
+
+export interface GetVirtualNetworkGatewayConnectionIkeSasOutputArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: pulumi.Input;
+ /**
+ * The name of the virtual network gateway Connection.
+ */
+ virtualNetworkGatewayConnectionName: pulumi.Input;
+}
diff --git a/sdk/nodejs/network/getVirtualNetworkGatewayVpnProfilePackageUrl.ts b/sdk/nodejs/network/getVirtualNetworkGatewayVpnProfilePackageUrl.ts
new file mode 100644
index 000000000000..2493e01366b3
--- /dev/null
+++ b/sdk/nodejs/network/getVirtualNetworkGatewayVpnProfilePackageUrl.ts
@@ -0,0 +1,55 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../utilities";
+
+/**
+ * Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ * Azure REST API version: 2023-02-01.
+ *
+ * Other available API versions: 2019-08-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.
+ */
+export function getVirtualNetworkGatewayVpnProfilePackageUrl(args: GetVirtualNetworkGatewayVpnProfilePackageUrlArgs, opts?: pulumi.InvokeOptions): Promise {
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:network:getVirtualNetworkGatewayVpnProfilePackageUrl", {
+ "resourceGroupName": args.resourceGroupName,
+ "virtualNetworkGatewayName": args.virtualNetworkGatewayName,
+ }, opts);
+}
+
+export interface GetVirtualNetworkGatewayVpnProfilePackageUrlArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: string;
+ /**
+ * The name of the virtual network gateway.
+ */
+ virtualNetworkGatewayName: string;
+}
+
+export interface GetVirtualNetworkGatewayVpnProfilePackageUrlResult {
+ readonly value?: string;
+}
+/**
+ * Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ * Azure REST API version: 2023-02-01.
+ *
+ * Other available API versions: 2019-08-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.
+ */
+export function getVirtualNetworkGatewayVpnProfilePackageUrlOutput(args: GetVirtualNetworkGatewayVpnProfilePackageUrlOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(args).apply((a: any) => getVirtualNetworkGatewayVpnProfilePackageUrl(a, opts))
+}
+
+export interface GetVirtualNetworkGatewayVpnProfilePackageUrlOutputArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: pulumi.Input;
+ /**
+ * The name of the virtual network gateway.
+ */
+ virtualNetworkGatewayName: pulumi.Input;
+}
diff --git a/sdk/nodejs/network/getVpnLinkConnectionIkeSas.ts b/sdk/nodejs/network/getVpnLinkConnectionIkeSas.ts
new file mode 100644
index 000000000000..e0b2af618163
--- /dev/null
+++ b/sdk/nodejs/network/getVpnLinkConnectionIkeSas.ts
@@ -0,0 +1,73 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../utilities";
+
+/**
+ * Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ * Azure REST API version: 2023-02-01.
+ *
+ * Other available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.
+ */
+export function getVpnLinkConnectionIkeSas(args: GetVpnLinkConnectionIkeSasArgs, opts?: pulumi.InvokeOptions): Promise {
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:network:getVpnLinkConnectionIkeSas", {
+ "connectionName": args.connectionName,
+ "gatewayName": args.gatewayName,
+ "linkConnectionName": args.linkConnectionName,
+ "resourceGroupName": args.resourceGroupName,
+ }, opts);
+}
+
+export interface GetVpnLinkConnectionIkeSasArgs {
+ /**
+ * The name of the vpn connection.
+ */
+ connectionName: string;
+ /**
+ * The name of the gateway.
+ */
+ gatewayName: string;
+ /**
+ * The name of the vpn link connection.
+ */
+ linkConnectionName: string;
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: string;
+}
+
+export interface GetVpnLinkConnectionIkeSasResult {
+ readonly value?: string;
+}
+/**
+ * Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ * Azure REST API version: 2023-02-01.
+ *
+ * Other available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.
+ */
+export function getVpnLinkConnectionIkeSasOutput(args: GetVpnLinkConnectionIkeSasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(args).apply((a: any) => getVpnLinkConnectionIkeSas(a, opts))
+}
+
+export interface GetVpnLinkConnectionIkeSasOutputArgs {
+ /**
+ * The name of the vpn connection.
+ */
+ connectionName: pulumi.Input;
+ /**
+ * The name of the gateway.
+ */
+ gatewayName: pulumi.Input;
+ /**
+ * The name of the vpn link connection.
+ */
+ linkConnectionName: pulumi.Input;
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: pulumi.Input;
+}
diff --git a/sdk/nodejs/network/index.ts b/sdk/nodejs/network/index.ts
index dfdcdb67bde4..b3f757201e26 100644
--- a/sdk/nodejs/network/index.ts
+++ b/sdk/nodejs/network/index.ts
@@ -750,6 +750,11 @@ export const getVirtualNetworkGatewayConnection: typeof import("./getVirtualNetw
export const getVirtualNetworkGatewayConnectionOutput: typeof import("./getVirtualNetworkGatewayConnection").getVirtualNetworkGatewayConnectionOutput = null as any;
utilities.lazyLoad(exports, ["getVirtualNetworkGatewayConnection","getVirtualNetworkGatewayConnectionOutput"], () => require("./getVirtualNetworkGatewayConnection"));
+export { GetVirtualNetworkGatewayConnectionIkeSasArgs, GetVirtualNetworkGatewayConnectionIkeSasResult, GetVirtualNetworkGatewayConnectionIkeSasOutputArgs } from "./getVirtualNetworkGatewayConnectionIkeSas";
+export const getVirtualNetworkGatewayConnectionIkeSas: typeof import("./getVirtualNetworkGatewayConnectionIkeSas").getVirtualNetworkGatewayConnectionIkeSas = null as any;
+export const getVirtualNetworkGatewayConnectionIkeSasOutput: typeof import("./getVirtualNetworkGatewayConnectionIkeSas").getVirtualNetworkGatewayConnectionIkeSasOutput = null as any;
+utilities.lazyLoad(exports, ["getVirtualNetworkGatewayConnectionIkeSas","getVirtualNetworkGatewayConnectionIkeSasOutput"], () => require("./getVirtualNetworkGatewayConnectionIkeSas"));
+
export { GetVirtualNetworkGatewayLearnedRoutesArgs, GetVirtualNetworkGatewayLearnedRoutesResult, GetVirtualNetworkGatewayLearnedRoutesOutputArgs } from "./getVirtualNetworkGatewayLearnedRoutes";
export const getVirtualNetworkGatewayLearnedRoutes: typeof import("./getVirtualNetworkGatewayLearnedRoutes").getVirtualNetworkGatewayLearnedRoutes = null as any;
export const getVirtualNetworkGatewayLearnedRoutesOutput: typeof import("./getVirtualNetworkGatewayLearnedRoutes").getVirtualNetworkGatewayLearnedRoutesOutput = null as any;
@@ -760,6 +765,11 @@ export const getVirtualNetworkGatewayNatRule: typeof import("./getVirtualNetwork
export const getVirtualNetworkGatewayNatRuleOutput: typeof import("./getVirtualNetworkGatewayNatRule").getVirtualNetworkGatewayNatRuleOutput = null as any;
utilities.lazyLoad(exports, ["getVirtualNetworkGatewayNatRule","getVirtualNetworkGatewayNatRuleOutput"], () => require("./getVirtualNetworkGatewayNatRule"));
+export { GetVirtualNetworkGatewayVpnProfilePackageUrlArgs, GetVirtualNetworkGatewayVpnProfilePackageUrlResult, GetVirtualNetworkGatewayVpnProfilePackageUrlOutputArgs } from "./getVirtualNetworkGatewayVpnProfilePackageUrl";
+export const getVirtualNetworkGatewayVpnProfilePackageUrl: typeof import("./getVirtualNetworkGatewayVpnProfilePackageUrl").getVirtualNetworkGatewayVpnProfilePackageUrl = null as any;
+export const getVirtualNetworkGatewayVpnProfilePackageUrlOutput: typeof import("./getVirtualNetworkGatewayVpnProfilePackageUrl").getVirtualNetworkGatewayVpnProfilePackageUrlOutput = null as any;
+utilities.lazyLoad(exports, ["getVirtualNetworkGatewayVpnProfilePackageUrl","getVirtualNetworkGatewayVpnProfilePackageUrlOutput"], () => require("./getVirtualNetworkGatewayVpnProfilePackageUrl"));
+
export { GetVirtualNetworkGatewayVpnclientConnectionHealthArgs, GetVirtualNetworkGatewayVpnclientConnectionHealthResult, GetVirtualNetworkGatewayVpnclientConnectionHealthOutputArgs } from "./getVirtualNetworkGatewayVpnclientConnectionHealth";
export const getVirtualNetworkGatewayVpnclientConnectionHealth: typeof import("./getVirtualNetworkGatewayVpnclientConnectionHealth").getVirtualNetworkGatewayVpnclientConnectionHealth = null as any;
export const getVirtualNetworkGatewayVpnclientConnectionHealthOutput: typeof import("./getVirtualNetworkGatewayVpnclientConnectionHealth").getVirtualNetworkGatewayVpnclientConnectionHealthOutput = null as any;
@@ -810,6 +820,11 @@ export const getVpnGateway: typeof import("./getVpnGateway").getVpnGateway = nul
export const getVpnGatewayOutput: typeof import("./getVpnGateway").getVpnGatewayOutput = null as any;
utilities.lazyLoad(exports, ["getVpnGateway","getVpnGatewayOutput"], () => require("./getVpnGateway"));
+export { GetVpnLinkConnectionIkeSasArgs, GetVpnLinkConnectionIkeSasResult, GetVpnLinkConnectionIkeSasOutputArgs } from "./getVpnLinkConnectionIkeSas";
+export const getVpnLinkConnectionIkeSas: typeof import("./getVpnLinkConnectionIkeSas").getVpnLinkConnectionIkeSas = null as any;
+export const getVpnLinkConnectionIkeSasOutput: typeof import("./getVpnLinkConnectionIkeSas").getVpnLinkConnectionIkeSasOutput = null as any;
+utilities.lazyLoad(exports, ["getVpnLinkConnectionIkeSas","getVpnLinkConnectionIkeSasOutput"], () => require("./getVpnLinkConnectionIkeSas"));
+
export { GetVpnServerConfigurationArgs, GetVpnServerConfigurationResult, GetVpnServerConfigurationOutputArgs } from "./getVpnServerConfiguration";
export const getVpnServerConfiguration: typeof import("./getVpnServerConfiguration").getVpnServerConfiguration = null as any;
export const getVpnServerConfigurationOutput: typeof import("./getVpnServerConfiguration").getVpnServerConfigurationOutput = null as any;
diff --git a/sdk/nodejs/network/v20190801/getVirtualNetworkGatewayVpnProfilePackageUrl.ts b/sdk/nodejs/network/v20190801/getVirtualNetworkGatewayVpnProfilePackageUrl.ts
new file mode 100644
index 000000000000..d3c72a4a1437
--- /dev/null
+++ b/sdk/nodejs/network/v20190801/getVirtualNetworkGatewayVpnProfilePackageUrl.ts
@@ -0,0 +1,49 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ */
+export function getVirtualNetworkGatewayVpnProfilePackageUrl(args: GetVirtualNetworkGatewayVpnProfilePackageUrlArgs, opts?: pulumi.InvokeOptions): Promise {
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:network/v20190801:getVirtualNetworkGatewayVpnProfilePackageUrl", {
+ "resourceGroupName": args.resourceGroupName,
+ "virtualNetworkGatewayName": args.virtualNetworkGatewayName,
+ }, opts);
+}
+
+export interface GetVirtualNetworkGatewayVpnProfilePackageUrlArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: string;
+ /**
+ * The name of the virtual network gateway.
+ */
+ virtualNetworkGatewayName: string;
+}
+
+export interface GetVirtualNetworkGatewayVpnProfilePackageUrlResult {
+ readonly value?: string;
+}
+/**
+ * Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ */
+export function getVirtualNetworkGatewayVpnProfilePackageUrlOutput(args: GetVirtualNetworkGatewayVpnProfilePackageUrlOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(args).apply((a: any) => getVirtualNetworkGatewayVpnProfilePackageUrl(a, opts))
+}
+
+export interface GetVirtualNetworkGatewayVpnProfilePackageUrlOutputArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: pulumi.Input;
+ /**
+ * The name of the virtual network gateway.
+ */
+ virtualNetworkGatewayName: pulumi.Input;
+}
diff --git a/sdk/nodejs/network/v20190801/index.ts b/sdk/nodejs/network/v20190801/index.ts
index c547631183b1..aadddafdc468 100644
--- a/sdk/nodejs/network/v20190801/index.ts
+++ b/sdk/nodejs/network/v20190801/index.ts
@@ -135,6 +135,11 @@ export const getVirtualNetworkGatewayLearnedRoutes: typeof import("./getVirtualN
export const getVirtualNetworkGatewayLearnedRoutesOutput: typeof import("./getVirtualNetworkGatewayLearnedRoutes").getVirtualNetworkGatewayLearnedRoutesOutput = null as any;
utilities.lazyLoad(exports, ["getVirtualNetworkGatewayLearnedRoutes","getVirtualNetworkGatewayLearnedRoutesOutput"], () => require("./getVirtualNetworkGatewayLearnedRoutes"));
+export { GetVirtualNetworkGatewayVpnProfilePackageUrlArgs, GetVirtualNetworkGatewayVpnProfilePackageUrlResult, GetVirtualNetworkGatewayVpnProfilePackageUrlOutputArgs } from "./getVirtualNetworkGatewayVpnProfilePackageUrl";
+export const getVirtualNetworkGatewayVpnProfilePackageUrl: typeof import("./getVirtualNetworkGatewayVpnProfilePackageUrl").getVirtualNetworkGatewayVpnProfilePackageUrl = null as any;
+export const getVirtualNetworkGatewayVpnProfilePackageUrlOutput: typeof import("./getVirtualNetworkGatewayVpnProfilePackageUrl").getVirtualNetworkGatewayVpnProfilePackageUrlOutput = null as any;
+utilities.lazyLoad(exports, ["getVirtualNetworkGatewayVpnProfilePackageUrl","getVirtualNetworkGatewayVpnProfilePackageUrlOutput"], () => require("./getVirtualNetworkGatewayVpnProfilePackageUrl"));
+
export { GetVirtualNetworkGatewayVpnclientConnectionHealthArgs, GetVirtualNetworkGatewayVpnclientConnectionHealthResult, GetVirtualNetworkGatewayVpnclientConnectionHealthOutputArgs } from "./getVirtualNetworkGatewayVpnclientConnectionHealth";
export const getVirtualNetworkGatewayVpnclientConnectionHealth: typeof import("./getVirtualNetworkGatewayVpnclientConnectionHealth").getVirtualNetworkGatewayVpnclientConnectionHealth = null as any;
export const getVirtualNetworkGatewayVpnclientConnectionHealthOutput: typeof import("./getVirtualNetworkGatewayVpnclientConnectionHealth").getVirtualNetworkGatewayVpnclientConnectionHealthOutput = null as any;
diff --git a/sdk/nodejs/network/v20230201/getVirtualNetworkGatewayConnectionIkeSas.ts b/sdk/nodejs/network/v20230201/getVirtualNetworkGatewayConnectionIkeSas.ts
new file mode 100644
index 000000000000..b80bd2900b5d
--- /dev/null
+++ b/sdk/nodejs/network/v20230201/getVirtualNetworkGatewayConnectionIkeSas.ts
@@ -0,0 +1,49 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ */
+export function getVirtualNetworkGatewayConnectionIkeSas(args: GetVirtualNetworkGatewayConnectionIkeSasArgs, opts?: pulumi.InvokeOptions): Promise {
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:network/v20230201:getVirtualNetworkGatewayConnectionIkeSas", {
+ "resourceGroupName": args.resourceGroupName,
+ "virtualNetworkGatewayConnectionName": args.virtualNetworkGatewayConnectionName,
+ }, opts);
+}
+
+export interface GetVirtualNetworkGatewayConnectionIkeSasArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: string;
+ /**
+ * The name of the virtual network gateway Connection.
+ */
+ virtualNetworkGatewayConnectionName: string;
+}
+
+export interface GetVirtualNetworkGatewayConnectionIkeSasResult {
+ readonly value?: string;
+}
+/**
+ * Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ */
+export function getVirtualNetworkGatewayConnectionIkeSasOutput(args: GetVirtualNetworkGatewayConnectionIkeSasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(args).apply((a: any) => getVirtualNetworkGatewayConnectionIkeSas(a, opts))
+}
+
+export interface GetVirtualNetworkGatewayConnectionIkeSasOutputArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: pulumi.Input;
+ /**
+ * The name of the virtual network gateway Connection.
+ */
+ virtualNetworkGatewayConnectionName: pulumi.Input;
+}
diff --git a/sdk/nodejs/network/v20230201/getVirtualNetworkGatewayVpnProfilePackageUrl.ts b/sdk/nodejs/network/v20230201/getVirtualNetworkGatewayVpnProfilePackageUrl.ts
new file mode 100644
index 000000000000..a389c98883f5
--- /dev/null
+++ b/sdk/nodejs/network/v20230201/getVirtualNetworkGatewayVpnProfilePackageUrl.ts
@@ -0,0 +1,49 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ */
+export function getVirtualNetworkGatewayVpnProfilePackageUrl(args: GetVirtualNetworkGatewayVpnProfilePackageUrlArgs, opts?: pulumi.InvokeOptions): Promise {
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:network/v20230201:getVirtualNetworkGatewayVpnProfilePackageUrl", {
+ "resourceGroupName": args.resourceGroupName,
+ "virtualNetworkGatewayName": args.virtualNetworkGatewayName,
+ }, opts);
+}
+
+export interface GetVirtualNetworkGatewayVpnProfilePackageUrlArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: string;
+ /**
+ * The name of the virtual network gateway.
+ */
+ virtualNetworkGatewayName: string;
+}
+
+export interface GetVirtualNetworkGatewayVpnProfilePackageUrlResult {
+ readonly value?: string;
+}
+/**
+ * Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ */
+export function getVirtualNetworkGatewayVpnProfilePackageUrlOutput(args: GetVirtualNetworkGatewayVpnProfilePackageUrlOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(args).apply((a: any) => getVirtualNetworkGatewayVpnProfilePackageUrl(a, opts))
+}
+
+export interface GetVirtualNetworkGatewayVpnProfilePackageUrlOutputArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: pulumi.Input;
+ /**
+ * The name of the virtual network gateway.
+ */
+ virtualNetworkGatewayName: pulumi.Input;
+}
diff --git a/sdk/nodejs/network/v20230201/getVpnLinkConnectionIkeSas.ts b/sdk/nodejs/network/v20230201/getVpnLinkConnectionIkeSas.ts
new file mode 100644
index 000000000000..dbaa118455f7
--- /dev/null
+++ b/sdk/nodejs/network/v20230201/getVpnLinkConnectionIkeSas.ts
@@ -0,0 +1,67 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ */
+export function getVpnLinkConnectionIkeSas(args: GetVpnLinkConnectionIkeSasArgs, opts?: pulumi.InvokeOptions): Promise {
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:network/v20230201:getVpnLinkConnectionIkeSas", {
+ "connectionName": args.connectionName,
+ "gatewayName": args.gatewayName,
+ "linkConnectionName": args.linkConnectionName,
+ "resourceGroupName": args.resourceGroupName,
+ }, opts);
+}
+
+export interface GetVpnLinkConnectionIkeSasArgs {
+ /**
+ * The name of the vpn connection.
+ */
+ connectionName: string;
+ /**
+ * The name of the gateway.
+ */
+ gatewayName: string;
+ /**
+ * The name of the vpn link connection.
+ */
+ linkConnectionName: string;
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: string;
+}
+
+export interface GetVpnLinkConnectionIkeSasResult {
+ readonly value?: string;
+}
+/**
+ * Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ */
+export function getVpnLinkConnectionIkeSasOutput(args: GetVpnLinkConnectionIkeSasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(args).apply((a: any) => getVpnLinkConnectionIkeSas(a, opts))
+}
+
+export interface GetVpnLinkConnectionIkeSasOutputArgs {
+ /**
+ * The name of the vpn connection.
+ */
+ connectionName: pulumi.Input;
+ /**
+ * The name of the gateway.
+ */
+ gatewayName: pulumi.Input;
+ /**
+ * The name of the vpn link connection.
+ */
+ linkConnectionName: pulumi.Input;
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: pulumi.Input;
+}
diff --git a/sdk/nodejs/network/v20230201/index.ts b/sdk/nodejs/network/v20230201/index.ts
index e57a739d7bc2..31a7633173ba 100644
--- a/sdk/nodejs/network/v20230201/index.ts
+++ b/sdk/nodejs/network/v20230201/index.ts
@@ -560,6 +560,11 @@ export const getVirtualNetworkGatewayConnection: typeof import("./getVirtualNetw
export const getVirtualNetworkGatewayConnectionOutput: typeof import("./getVirtualNetworkGatewayConnection").getVirtualNetworkGatewayConnectionOutput = null as any;
utilities.lazyLoad(exports, ["getVirtualNetworkGatewayConnection","getVirtualNetworkGatewayConnectionOutput"], () => require("./getVirtualNetworkGatewayConnection"));
+export { GetVirtualNetworkGatewayConnectionIkeSasArgs, GetVirtualNetworkGatewayConnectionIkeSasResult, GetVirtualNetworkGatewayConnectionIkeSasOutputArgs } from "./getVirtualNetworkGatewayConnectionIkeSas";
+export const getVirtualNetworkGatewayConnectionIkeSas: typeof import("./getVirtualNetworkGatewayConnectionIkeSas").getVirtualNetworkGatewayConnectionIkeSas = null as any;
+export const getVirtualNetworkGatewayConnectionIkeSasOutput: typeof import("./getVirtualNetworkGatewayConnectionIkeSas").getVirtualNetworkGatewayConnectionIkeSasOutput = null as any;
+utilities.lazyLoad(exports, ["getVirtualNetworkGatewayConnectionIkeSas","getVirtualNetworkGatewayConnectionIkeSasOutput"], () => require("./getVirtualNetworkGatewayConnectionIkeSas"));
+
export { GetVirtualNetworkGatewayLearnedRoutesArgs, GetVirtualNetworkGatewayLearnedRoutesResult, GetVirtualNetworkGatewayLearnedRoutesOutputArgs } from "./getVirtualNetworkGatewayLearnedRoutes";
export const getVirtualNetworkGatewayLearnedRoutes: typeof import("./getVirtualNetworkGatewayLearnedRoutes").getVirtualNetworkGatewayLearnedRoutes = null as any;
export const getVirtualNetworkGatewayLearnedRoutesOutput: typeof import("./getVirtualNetworkGatewayLearnedRoutes").getVirtualNetworkGatewayLearnedRoutesOutput = null as any;
@@ -570,6 +575,11 @@ export const getVirtualNetworkGatewayNatRule: typeof import("./getVirtualNetwork
export const getVirtualNetworkGatewayNatRuleOutput: typeof import("./getVirtualNetworkGatewayNatRule").getVirtualNetworkGatewayNatRuleOutput = null as any;
utilities.lazyLoad(exports, ["getVirtualNetworkGatewayNatRule","getVirtualNetworkGatewayNatRuleOutput"], () => require("./getVirtualNetworkGatewayNatRule"));
+export { GetVirtualNetworkGatewayVpnProfilePackageUrlArgs, GetVirtualNetworkGatewayVpnProfilePackageUrlResult, GetVirtualNetworkGatewayVpnProfilePackageUrlOutputArgs } from "./getVirtualNetworkGatewayVpnProfilePackageUrl";
+export const getVirtualNetworkGatewayVpnProfilePackageUrl: typeof import("./getVirtualNetworkGatewayVpnProfilePackageUrl").getVirtualNetworkGatewayVpnProfilePackageUrl = null as any;
+export const getVirtualNetworkGatewayVpnProfilePackageUrlOutput: typeof import("./getVirtualNetworkGatewayVpnProfilePackageUrl").getVirtualNetworkGatewayVpnProfilePackageUrlOutput = null as any;
+utilities.lazyLoad(exports, ["getVirtualNetworkGatewayVpnProfilePackageUrl","getVirtualNetworkGatewayVpnProfilePackageUrlOutput"], () => require("./getVirtualNetworkGatewayVpnProfilePackageUrl"));
+
export { GetVirtualNetworkGatewayVpnclientConnectionHealthArgs, GetVirtualNetworkGatewayVpnclientConnectionHealthResult, GetVirtualNetworkGatewayVpnclientConnectionHealthOutputArgs } from "./getVirtualNetworkGatewayVpnclientConnectionHealth";
export const getVirtualNetworkGatewayVpnclientConnectionHealth: typeof import("./getVirtualNetworkGatewayVpnclientConnectionHealth").getVirtualNetworkGatewayVpnclientConnectionHealth = null as any;
export const getVirtualNetworkGatewayVpnclientConnectionHealthOutput: typeof import("./getVirtualNetworkGatewayVpnclientConnectionHealth").getVirtualNetworkGatewayVpnclientConnectionHealthOutput = null as any;
@@ -615,6 +625,11 @@ export const getVpnGateway: typeof import("./getVpnGateway").getVpnGateway = nul
export const getVpnGatewayOutput: typeof import("./getVpnGateway").getVpnGatewayOutput = null as any;
utilities.lazyLoad(exports, ["getVpnGateway","getVpnGatewayOutput"], () => require("./getVpnGateway"));
+export { GetVpnLinkConnectionIkeSasArgs, GetVpnLinkConnectionIkeSasResult, GetVpnLinkConnectionIkeSasOutputArgs } from "./getVpnLinkConnectionIkeSas";
+export const getVpnLinkConnectionIkeSas: typeof import("./getVpnLinkConnectionIkeSas").getVpnLinkConnectionIkeSas = null as any;
+export const getVpnLinkConnectionIkeSasOutput: typeof import("./getVpnLinkConnectionIkeSas").getVpnLinkConnectionIkeSasOutput = null as any;
+utilities.lazyLoad(exports, ["getVpnLinkConnectionIkeSas","getVpnLinkConnectionIkeSasOutput"], () => require("./getVpnLinkConnectionIkeSas"));
+
export { GetVpnServerConfigurationArgs, GetVpnServerConfigurationResult, GetVpnServerConfigurationOutputArgs } from "./getVpnServerConfiguration";
export const getVpnServerConfiguration: typeof import("./getVpnServerConfiguration").getVpnServerConfiguration = null as any;
export const getVpnServerConfigurationOutput: typeof import("./getVpnServerConfiguration").getVpnServerConfigurationOutput = null as any;
diff --git a/sdk/nodejs/network/v20230401/getVirtualNetworkGatewayConnectionIkeSas.ts b/sdk/nodejs/network/v20230401/getVirtualNetworkGatewayConnectionIkeSas.ts
new file mode 100644
index 000000000000..aa4a30e7928d
--- /dev/null
+++ b/sdk/nodejs/network/v20230401/getVirtualNetworkGatewayConnectionIkeSas.ts
@@ -0,0 +1,49 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ */
+export function getVirtualNetworkGatewayConnectionIkeSas(args: GetVirtualNetworkGatewayConnectionIkeSasArgs, opts?: pulumi.InvokeOptions): Promise {
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:network/v20230401:getVirtualNetworkGatewayConnectionIkeSas", {
+ "resourceGroupName": args.resourceGroupName,
+ "virtualNetworkGatewayConnectionName": args.virtualNetworkGatewayConnectionName,
+ }, opts);
+}
+
+export interface GetVirtualNetworkGatewayConnectionIkeSasArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: string;
+ /**
+ * The name of the virtual network gateway Connection.
+ */
+ virtualNetworkGatewayConnectionName: string;
+}
+
+export interface GetVirtualNetworkGatewayConnectionIkeSasResult {
+ readonly value?: string;
+}
+/**
+ * Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ */
+export function getVirtualNetworkGatewayConnectionIkeSasOutput(args: GetVirtualNetworkGatewayConnectionIkeSasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(args).apply((a: any) => getVirtualNetworkGatewayConnectionIkeSas(a, opts))
+}
+
+export interface GetVirtualNetworkGatewayConnectionIkeSasOutputArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: pulumi.Input;
+ /**
+ * The name of the virtual network gateway Connection.
+ */
+ virtualNetworkGatewayConnectionName: pulumi.Input;
+}
diff --git a/sdk/nodejs/network/v20230401/getVirtualNetworkGatewayVpnProfilePackageUrl.ts b/sdk/nodejs/network/v20230401/getVirtualNetworkGatewayVpnProfilePackageUrl.ts
new file mode 100644
index 000000000000..2c6f0cfe901b
--- /dev/null
+++ b/sdk/nodejs/network/v20230401/getVirtualNetworkGatewayVpnProfilePackageUrl.ts
@@ -0,0 +1,49 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ */
+export function getVirtualNetworkGatewayVpnProfilePackageUrl(args: GetVirtualNetworkGatewayVpnProfilePackageUrlArgs, opts?: pulumi.InvokeOptions): Promise {
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:network/v20230401:getVirtualNetworkGatewayVpnProfilePackageUrl", {
+ "resourceGroupName": args.resourceGroupName,
+ "virtualNetworkGatewayName": args.virtualNetworkGatewayName,
+ }, opts);
+}
+
+export interface GetVirtualNetworkGatewayVpnProfilePackageUrlArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: string;
+ /**
+ * The name of the virtual network gateway.
+ */
+ virtualNetworkGatewayName: string;
+}
+
+export interface GetVirtualNetworkGatewayVpnProfilePackageUrlResult {
+ readonly value?: string;
+}
+/**
+ * Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ */
+export function getVirtualNetworkGatewayVpnProfilePackageUrlOutput(args: GetVirtualNetworkGatewayVpnProfilePackageUrlOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(args).apply((a: any) => getVirtualNetworkGatewayVpnProfilePackageUrl(a, opts))
+}
+
+export interface GetVirtualNetworkGatewayVpnProfilePackageUrlOutputArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: pulumi.Input;
+ /**
+ * The name of the virtual network gateway.
+ */
+ virtualNetworkGatewayName: pulumi.Input;
+}
diff --git a/sdk/nodejs/network/v20230401/getVpnLinkConnectionIkeSas.ts b/sdk/nodejs/network/v20230401/getVpnLinkConnectionIkeSas.ts
new file mode 100644
index 000000000000..6c5c482b530e
--- /dev/null
+++ b/sdk/nodejs/network/v20230401/getVpnLinkConnectionIkeSas.ts
@@ -0,0 +1,67 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ */
+export function getVpnLinkConnectionIkeSas(args: GetVpnLinkConnectionIkeSasArgs, opts?: pulumi.InvokeOptions): Promise {
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:network/v20230401:getVpnLinkConnectionIkeSas", {
+ "connectionName": args.connectionName,
+ "gatewayName": args.gatewayName,
+ "linkConnectionName": args.linkConnectionName,
+ "resourceGroupName": args.resourceGroupName,
+ }, opts);
+}
+
+export interface GetVpnLinkConnectionIkeSasArgs {
+ /**
+ * The name of the vpn connection.
+ */
+ connectionName: string;
+ /**
+ * The name of the gateway.
+ */
+ gatewayName: string;
+ /**
+ * The name of the vpn link connection.
+ */
+ linkConnectionName: string;
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: string;
+}
+
+export interface GetVpnLinkConnectionIkeSasResult {
+ readonly value?: string;
+}
+/**
+ * Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.
+ */
+export function getVpnLinkConnectionIkeSasOutput(args: GetVpnLinkConnectionIkeSasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(args).apply((a: any) => getVpnLinkConnectionIkeSas(a, opts))
+}
+
+export interface GetVpnLinkConnectionIkeSasOutputArgs {
+ /**
+ * The name of the vpn connection.
+ */
+ connectionName: pulumi.Input;
+ /**
+ * The name of the gateway.
+ */
+ gatewayName: pulumi.Input;
+ /**
+ * The name of the vpn link connection.
+ */
+ linkConnectionName: pulumi.Input;
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: pulumi.Input;
+}
diff --git a/sdk/nodejs/network/v20230401/index.ts b/sdk/nodejs/network/v20230401/index.ts
index bb4899195c44..c231083cd405 100644
--- a/sdk/nodejs/network/v20230401/index.ts
+++ b/sdk/nodejs/network/v20230401/index.ts
@@ -560,6 +560,11 @@ export const getVirtualNetworkGatewayConnection: typeof import("./getVirtualNetw
export const getVirtualNetworkGatewayConnectionOutput: typeof import("./getVirtualNetworkGatewayConnection").getVirtualNetworkGatewayConnectionOutput = null as any;
utilities.lazyLoad(exports, ["getVirtualNetworkGatewayConnection","getVirtualNetworkGatewayConnectionOutput"], () => require("./getVirtualNetworkGatewayConnection"));
+export { GetVirtualNetworkGatewayConnectionIkeSasArgs, GetVirtualNetworkGatewayConnectionIkeSasResult, GetVirtualNetworkGatewayConnectionIkeSasOutputArgs } from "./getVirtualNetworkGatewayConnectionIkeSas";
+export const getVirtualNetworkGatewayConnectionIkeSas: typeof import("./getVirtualNetworkGatewayConnectionIkeSas").getVirtualNetworkGatewayConnectionIkeSas = null as any;
+export const getVirtualNetworkGatewayConnectionIkeSasOutput: typeof import("./getVirtualNetworkGatewayConnectionIkeSas").getVirtualNetworkGatewayConnectionIkeSasOutput = null as any;
+utilities.lazyLoad(exports, ["getVirtualNetworkGatewayConnectionIkeSas","getVirtualNetworkGatewayConnectionIkeSasOutput"], () => require("./getVirtualNetworkGatewayConnectionIkeSas"));
+
export { GetVirtualNetworkGatewayLearnedRoutesArgs, GetVirtualNetworkGatewayLearnedRoutesResult, GetVirtualNetworkGatewayLearnedRoutesOutputArgs } from "./getVirtualNetworkGatewayLearnedRoutes";
export const getVirtualNetworkGatewayLearnedRoutes: typeof import("./getVirtualNetworkGatewayLearnedRoutes").getVirtualNetworkGatewayLearnedRoutes = null as any;
export const getVirtualNetworkGatewayLearnedRoutesOutput: typeof import("./getVirtualNetworkGatewayLearnedRoutes").getVirtualNetworkGatewayLearnedRoutesOutput = null as any;
@@ -570,6 +575,11 @@ export const getVirtualNetworkGatewayNatRule: typeof import("./getVirtualNetwork
export const getVirtualNetworkGatewayNatRuleOutput: typeof import("./getVirtualNetworkGatewayNatRule").getVirtualNetworkGatewayNatRuleOutput = null as any;
utilities.lazyLoad(exports, ["getVirtualNetworkGatewayNatRule","getVirtualNetworkGatewayNatRuleOutput"], () => require("./getVirtualNetworkGatewayNatRule"));
+export { GetVirtualNetworkGatewayVpnProfilePackageUrlArgs, GetVirtualNetworkGatewayVpnProfilePackageUrlResult, GetVirtualNetworkGatewayVpnProfilePackageUrlOutputArgs } from "./getVirtualNetworkGatewayVpnProfilePackageUrl";
+export const getVirtualNetworkGatewayVpnProfilePackageUrl: typeof import("./getVirtualNetworkGatewayVpnProfilePackageUrl").getVirtualNetworkGatewayVpnProfilePackageUrl = null as any;
+export const getVirtualNetworkGatewayVpnProfilePackageUrlOutput: typeof import("./getVirtualNetworkGatewayVpnProfilePackageUrl").getVirtualNetworkGatewayVpnProfilePackageUrlOutput = null as any;
+utilities.lazyLoad(exports, ["getVirtualNetworkGatewayVpnProfilePackageUrl","getVirtualNetworkGatewayVpnProfilePackageUrlOutput"], () => require("./getVirtualNetworkGatewayVpnProfilePackageUrl"));
+
export { GetVirtualNetworkGatewayVpnclientConnectionHealthArgs, GetVirtualNetworkGatewayVpnclientConnectionHealthResult, GetVirtualNetworkGatewayVpnclientConnectionHealthOutputArgs } from "./getVirtualNetworkGatewayVpnclientConnectionHealth";
export const getVirtualNetworkGatewayVpnclientConnectionHealth: typeof import("./getVirtualNetworkGatewayVpnclientConnectionHealth").getVirtualNetworkGatewayVpnclientConnectionHealth = null as any;
export const getVirtualNetworkGatewayVpnclientConnectionHealthOutput: typeof import("./getVirtualNetworkGatewayVpnclientConnectionHealth").getVirtualNetworkGatewayVpnclientConnectionHealthOutput = null as any;
@@ -615,6 +625,11 @@ export const getVpnGateway: typeof import("./getVpnGateway").getVpnGateway = nul
export const getVpnGatewayOutput: typeof import("./getVpnGateway").getVpnGatewayOutput = null as any;
utilities.lazyLoad(exports, ["getVpnGateway","getVpnGatewayOutput"], () => require("./getVpnGateway"));
+export { GetVpnLinkConnectionIkeSasArgs, GetVpnLinkConnectionIkeSasResult, GetVpnLinkConnectionIkeSasOutputArgs } from "./getVpnLinkConnectionIkeSas";
+export const getVpnLinkConnectionIkeSas: typeof import("./getVpnLinkConnectionIkeSas").getVpnLinkConnectionIkeSas = null as any;
+export const getVpnLinkConnectionIkeSasOutput: typeof import("./getVpnLinkConnectionIkeSas").getVpnLinkConnectionIkeSasOutput = null as any;
+utilities.lazyLoad(exports, ["getVpnLinkConnectionIkeSas","getVpnLinkConnectionIkeSasOutput"], () => require("./getVpnLinkConnectionIkeSas"));
+
export { GetVpnServerConfigurationArgs, GetVpnServerConfigurationResult, GetVpnServerConfigurationOutputArgs } from "./getVpnServerConfiguration";
export const getVpnServerConfiguration: typeof import("./getVpnServerConfiguration").getVpnServerConfiguration = null as any;
export const getVpnServerConfigurationOutput: typeof import("./getVpnServerConfiguration").getVpnServerConfigurationOutput = null as any;
diff --git a/sdk/nodejs/network/v20230501/getVirtualNetworkGatewayConnectionIkeSas.ts b/sdk/nodejs/network/v20230501/getVirtualNetworkGatewayConnectionIkeSas.ts
new file mode 100644
index 000000000000..54d15276e5a7
--- /dev/null
+++ b/sdk/nodejs/network/v20230501/getVirtualNetworkGatewayConnectionIkeSas.ts
@@ -0,0 +1,49 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ */
+export function getVirtualNetworkGatewayConnectionIkeSas(args: GetVirtualNetworkGatewayConnectionIkeSasArgs, opts?: pulumi.InvokeOptions): Promise {
+
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("azure-native:network/v20230501:getVirtualNetworkGatewayConnectionIkeSas", {
+ "resourceGroupName": args.resourceGroupName,
+ "virtualNetworkGatewayConnectionName": args.virtualNetworkGatewayConnectionName,
+ }, opts);
+}
+
+export interface GetVirtualNetworkGatewayConnectionIkeSasArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: string;
+ /**
+ * The name of the virtual network gateway Connection.
+ */
+ virtualNetworkGatewayConnectionName: string;
+}
+
+export interface GetVirtualNetworkGatewayConnectionIkeSasResult {
+ readonly value?: string;
+}
+/**
+ * Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.
+ */
+export function getVirtualNetworkGatewayConnectionIkeSasOutput(args: GetVirtualNetworkGatewayConnectionIkeSasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output {
+ return pulumi.output(args).apply((a: any) => getVirtualNetworkGatewayConnectionIkeSas(a, opts))
+}
+
+export interface GetVirtualNetworkGatewayConnectionIkeSasOutputArgs {
+ /**
+ * The name of the resource group.
+ */
+ resourceGroupName: pulumi.Input;
+ /**
+ * The name of the virtual network gateway Connection.
+ */
+ virtualNetworkGatewayConnectionName: pulumi.Input;
+}
diff --git a/sdk/nodejs/network/v20230501/getVirtualNetworkGatewayVpnProfilePackageUrl.ts b/sdk/nodejs/network/v20230501/getVirtualNetworkGatewayVpnProfilePackageUrl.ts
new file mode 100644
index 000000000000..a9f52ac5163c
--- /dev/null
+++ b/sdk/nodejs/network/v20230501/getVirtualNetworkGatewayVpnProfilePackageUrl.ts
@@ -0,0 +1,49 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../../utilities";
+
+/**
+ * Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
+ */
+export function getVirtualNetworkGatewayVpnProfilePackageUrl(args: GetVirtualNetworkGatewayVpnProfilePackageUrlArgs, opts?: pulumi.InvokeOptions): Promise