Api Gateway Args
A single API Management gateway resource in List or Get response. Uses Azure REST API version 2024-06-01-preview. In version 2.x of the Azure Native provider, it used API version 2023-09-01-preview. Other available API versions: 2023-09-01-preview, 2024-05-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native apimanagement [ApiVersion]
. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.
Example Usage
ApiManagementCreateStandardGateway
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var apiGateway = new AzureNative.ApiManagement.ApiGateway("apiGateway", new()
{
Backend = new AzureNative.ApiManagement.Inputs.BackendConfigurationArgs
{
Subnet = new AzureNative.ApiManagement.Inputs.BackendSubnetConfigurationArgs
{
Id = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/sn1",
},
},
GatewayName = "apimGateway1",
Location = "South Central US",
ResourceGroupName = "rg1",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementGatewaySkuPropertiesArgs
{
Capacity = 1,
Name = AzureNative.ApiManagement.ApiGatewaySkuType.Standard,
},
Tags =
{
{ "Name", "Contoso" },
{ "Test", "User" },
},
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewApiGateway(ctx, "apiGateway", &apimanagement.ApiGatewayArgs{
Backend: &apimanagement.BackendConfigurationArgs{
Subnet: &apimanagement.BackendSubnetConfigurationArgs{
Id: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/sn1"),
},
},
GatewayName: pulumi.String("apimGateway1"),
Location: pulumi.String("South Central US"),
ResourceGroupName: pulumi.String("rg1"),
Sku: &apimanagement.ApiManagementGatewaySkuPropertiesArgs{
Capacity: pulumi.Int(1),
Name: pulumi.String(apimanagement.ApiGatewaySkuTypeStandard),
},
Tags: pulumi.StringMap{
"Name": pulumi.String("Contoso"),
"Test": pulumi.String("User"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.apimanagement.ApiGateway;
import com.pulumi.azurenative.apimanagement.ApiGatewayArgs;
import com.pulumi.azurenative.apimanagement.inputs.BackendConfigurationArgs;
import com.pulumi.azurenative.apimanagement.inputs.BackendSubnetConfigurationArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementGatewaySkuPropertiesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var apiGateway = new ApiGateway("apiGateway", ApiGatewayArgs.builder()
.backend(BackendConfigurationArgs.builder()
.subnet(BackendSubnetConfigurationArgs.builder()
.id("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/sn1")
.build())
.build())
.gatewayName("apimGateway1")
.location("South Central US")
.resourceGroupName("rg1")
.sku(ApiManagementGatewaySkuPropertiesArgs.builder()
.capacity(1)
.name("Standard")
.build())
.tags(Map.ofEntries(
Map.entry("Name", "Contoso"),
Map.entry("Test", "User")
))
.build());
}
}
ApiManagementCreateWorkspacePremiumGateway
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var apiGateway = new AzureNative.ApiManagement.ApiGateway("apiGateway", new()
{
Backend = new AzureNative.ApiManagement.Inputs.BackendConfigurationArgs
{
Subnet = new AzureNative.ApiManagement.Inputs.BackendSubnetConfigurationArgs
{
Id = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/sn1",
},
},
GatewayName = "apimGateway1",
Location = "South Central US",
ResourceGroupName = "rg1",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementGatewaySkuPropertiesArgs
{
Capacity = 1,
Name = AzureNative.ApiManagement.ApiGatewaySkuType.WorkspaceGatewayPremium,
},
Tags =
{
{ "Name", "Contoso" },
{ "Test", "User" },
},
VirtualNetworkType = AzureNative.ApiManagement.VirtualNetworkType.External,
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewApiGateway(ctx, "apiGateway", &apimanagement.ApiGatewayArgs{
Backend: &apimanagement.BackendConfigurationArgs{
Subnet: &apimanagement.BackendSubnetConfigurationArgs{
Id: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/sn1"),
},
},
GatewayName: pulumi.String("apimGateway1"),
Location: pulumi.String("South Central US"),
ResourceGroupName: pulumi.String("rg1"),
Sku: &apimanagement.ApiManagementGatewaySkuPropertiesArgs{
Capacity: pulumi.Int(1),
Name: pulumi.String(apimanagement.ApiGatewaySkuTypeWorkspaceGatewayPremium),
},
Tags: pulumi.StringMap{
"Name": pulumi.String("Contoso"),
"Test": pulumi.String("User"),
},
VirtualNetworkType: pulumi.String(apimanagement.VirtualNetworkTypeExternal),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.apimanagement.ApiGateway;
import com.pulumi.azurenative.apimanagement.ApiGatewayArgs;
import com.pulumi.azurenative.apimanagement.inputs.BackendConfigurationArgs;
import com.pulumi.azurenative.apimanagement.inputs.BackendSubnetConfigurationArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementGatewaySkuPropertiesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var apiGateway = new ApiGateway("apiGateway", ApiGatewayArgs.builder()
.backend(BackendConfigurationArgs.builder()
.subnet(BackendSubnetConfigurationArgs.builder()
.id("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/sn1")
.build())
.build())
.gatewayName("apimGateway1")
.location("South Central US")
.resourceGroupName("rg1")
.sku(ApiManagementGatewaySkuPropertiesArgs.builder()
.capacity(1)
.name("WorkspaceGatewayPremium")
.build())
.tags(Map.ofEntries(
Map.entry("Name", "Contoso"),
Map.entry("Test", "User")
))
.virtualNetworkType("External")
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:apimanagement:ApiGateway apimGateway1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/gateways/{gatewayName}
Constructors
Properties
Information regarding how the gateway should integrate with backend systems.
The name of the API Management gateway.
The name of the resource group. The name is case insensitive.
SKU properties of the API Management gateway.
The type of VPN in which API Management gateway needs to be configured in.