BackendArgs

data class BackendArgs(val apiManagementName: Output<String>? = null, val credentials: Output<BackendCredentialsArgs>? = null, val description: Output<String>? = null, val name: Output<String>? = null, val protocol: Output<String>? = null, val proxy: Output<BackendProxyArgs>? = null, val resourceGroupName: Output<String>? = null, val resourceId: Output<String>? = null, val serviceFabricCluster: Output<BackendServiceFabricClusterArgs>? = null, val title: Output<String>? = null, val tls: Output<BackendTlsArgs>? = null, val url: Output<String>? = null) : ConvertibleToJava<BackendArgs>

Manages a backend within an API Management Service.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleService = new azure.apimanagement.Service("example", {
name: "example-apim",
location: example.location,
resourceGroupName: example.name,
publisherName: "My Company",
publisherEmail: "company@exmaple.com",
skuName: "Developer_1",
});
const exampleBackend = new azure.apimanagement.Backend("example", {
name: "example-backend",
resourceGroupName: example.name,
apiManagementName: exampleService.name,
protocol: "http",
url: "https://backend.com/api",
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_service = azure.apimanagement.Service("example",
name="example-apim",
location=example.location,
resource_group_name=example.name,
publisher_name="My Company",
publisher_email="company@exmaple.com",
sku_name="Developer_1")
example_backend = azure.apimanagement.Backend("example",
name="example-backend",
resource_group_name=example.name,
api_management_name=example_service.name,
protocol="http",
url="https://backend.com/api")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleService = new Azure.ApiManagement.Service("example", new()
{
Name = "example-apim",
Location = example.Location,
ResourceGroupName = example.Name,
PublisherName = "My Company",
PublisherEmail = "company@exmaple.com",
SkuName = "Developer_1",
});
var exampleBackend = new Azure.ApiManagement.Backend("example", new()
{
Name = "example-backend",
ResourceGroupName = example.Name,
ApiManagementName = exampleService.Name,
Protocol = "http",
Url = "https://backend.com/api",
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleService, err := apimanagement.NewService(ctx, "example", &apimanagement.ServiceArgs{
Name: pulumi.String("example-apim"),
Location: example.Location,
ResourceGroupName: example.Name,
PublisherName: pulumi.String("My Company"),
PublisherEmail: pulumi.String("company@exmaple.com"),
SkuName: pulumi.String("Developer_1"),
})
if err != nil {
return err
}
_, err = apimanagement.NewBackend(ctx, "example", &apimanagement.BackendArgs{
Name: pulumi.String("example-backend"),
ResourceGroupName: example.Name,
ApiManagementName: exampleService.Name,
Protocol: pulumi.String("http"),
Url: pulumi.String("https://backend.com/api"),
})
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.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.apimanagement.Service;
import com.pulumi.azure.apimanagement.ServiceArgs;
import com.pulumi.azure.apimanagement.Backend;
import com.pulumi.azure.apimanagement.BackendArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleService = new Service("exampleService", ServiceArgs.builder()
.name("example-apim")
.location(example.location())
.resourceGroupName(example.name())
.publisherName("My Company")
.publisherEmail("company@exmaple.com")
.skuName("Developer_1")
.build());
var exampleBackend = new Backend("exampleBackend", BackendArgs.builder()
.name("example-backend")
.resourceGroupName(example.name())
.apiManagementName(exampleService.name())
.protocol("http")
.url("https://backend.com/api")
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleService:
type: azure:apimanagement:Service
name: example
properties:
name: example-apim
location: ${example.location}
resourceGroupName: ${example.name}
publisherName: My Company
publisherEmail: company@exmaple.com
skuName: Developer_1
exampleBackend:
type: azure:apimanagement:Backend
name: example
properties:
name: example-backend
resourceGroupName: ${example.name}
apiManagementName: ${exampleService.name}
protocol: http
url: https://backend.com/api

API Providers

This resource uses the following Azure API Providers:

  • Microsoft.ApiManagement: 2022-08-01

Import

API Management backends can be imported using the resource id, e.g.

$ pulumi import azure:apimanagement/backend:Backend example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/backends/backend1

Constructors

Link copied to clipboard
constructor(apiManagementName: Output<String>? = null, credentials: Output<BackendCredentialsArgs>? = null, description: Output<String>? = null, name: Output<String>? = null, protocol: Output<String>? = null, proxy: Output<BackendProxyArgs>? = null, resourceGroupName: Output<String>? = null, resourceId: Output<String>? = null, serviceFabricCluster: Output<BackendServiceFabricClusterArgs>? = null, title: Output<String>? = null, tls: Output<BackendTlsArgs>? = null, url: Output<String>? = null)

Properties

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

The Name of the API Management Service where this backend should be created. Changing this forces a new resource to be created.

Link copied to clipboard
val credentials: Output<BackendCredentialsArgs>? = null

A credentials block as documented below.

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

The description of the backend.

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

The name of the API Management backend. Changing this forces a new resource to be created.

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

The protocol used by the backend host. Possible values are http or soap.

Link copied to clipboard
val proxy: Output<BackendProxyArgs>? = null

A proxy block as documented below.

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

The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.

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

The management URI of the backend host in an external system. This URI can be the ARM Resource ID of Logic Apps, Function Apps or API Apps, or the management endpoint of a Service Fabric cluster.

Link copied to clipboard

A service_fabric_cluster block as documented below.

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

The title of the backend.

Link copied to clipboard
val tls: Output<BackendTlsArgs>? = null

A tls block as documented below.

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

The backend host URL should be specified in the format "https://backend.com/api", avoiding trailing slashes (/) to minimize misconfiguration risks. Azure API Management instance will append the backend resource name to this URL. This URL typically serves as the base-url in the set-backend-service policy, enabling seamless transitions from frontend to backend.

Functions

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