ApiGatewayArgs

data class ApiGatewayArgs(val backend: Output<BackendConfigurationArgs>? = null, val gatewayName: Output<String>? = null, val location: Output<String>? = null, val resourceGroupName: Output<String>? = null, val sku: Output<ApiManagementGatewaySkuPropertiesArgs>? = null, val tags: Output<Map<String, String>>? = null, val virtualNetworkType: Output<Either<String, VirtualNetworkType>>? = null) : ConvertibleToJava<ApiGatewayArgs>

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

Link copied to clipboard
constructor(backend: Output<BackendConfigurationArgs>? = null, gatewayName: Output<String>? = null, location: Output<String>? = null, resourceGroupName: Output<String>? = null, sku: Output<ApiManagementGatewaySkuPropertiesArgs>? = null, tags: Output<Map<String, String>>? = null, virtualNetworkType: Output<Either<String, VirtualNetworkType>>? = null)

Properties

Link copied to clipboard
val backend: Output<BackendConfigurationArgs>? = null

Information regarding how the gateway should integrate with backend systems.

Link copied to clipboard
val gatewayName: Output<String>? = null

The name of the API Management gateway.

Link copied to clipboard
val location: Output<String>? = null

Resource location.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group. The name is case insensitive.

Link copied to clipboard

SKU properties of the API Management gateway.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Resource tags.

Link copied to clipboard
val virtualNetworkType: Output<Either<String, VirtualNetworkType>>? = null

The type of VPN in which API Management gateway needs to be configured in.

Functions

Link copied to clipboard
open override fun toJava(): ApiGatewayArgs