ApiGateway

class ApiGateway : KotlinCustomResource

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/v2"
"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/v2"
"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}

Properties

Link copied to clipboard
val azureApiVersion: Output<String>

The Azure API version of the resource.

Link copied to clipboard

Information regarding how the gateway should integrate with backend systems.

Link copied to clipboard

Information regarding the Configuration API of the API Management gateway. This is only applicable for API gateway with Standard SKU.

Link copied to clipboard
val createdAtUtc: Output<String>

Creation UTC date of the API Management gateway.The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.

Link copied to clipboard
val etag: Output<String>

ETag of the resource.

Link copied to clipboard

Information regarding how the gateway should be exposed.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val location: Output<String>

Resource location.

Link copied to clipboard
val name: Output<String>

Resource name.

Link copied to clipboard

The current provisioning state of the API Management gateway which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

SKU properties of the API Management gateway.

Link copied to clipboard

Metadata pertaining to creation and last modification of the resource.

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

Resource tags.

Link copied to clipboard

The provisioning state of the API Management gateway, which is targeted by the long running operation started on the gateway.

Link copied to clipboard
val type: Output<String>

Resource type for API Management resource is set to Microsoft.ApiManagement.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

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