Http Route Config Args
data class HttpRouteConfigArgs(val environmentName: Output<String>? = null, val httpRouteName: Output<String>? = null, val properties: Output<HttpRouteConfigPropertiesArgs>? = null, val resourceGroupName: Output<String>? = null) : ConvertibleToJava<HttpRouteConfigArgs>
Advanced Ingress routing for path/header based routing for a Container App Environment Uses Azure REST API version 2024-10-02-preview. In version 2.x of the Azure Native provider, it used API version 2024-10-02-preview.
Example Usage
Create or Update Http Route
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var httpRouteConfig = new AzureNative.App.HttpRouteConfig("httpRouteConfig", new()
{
EnvironmentName = "testcontainerenv",
HttpRouteName = "httproutefriendlyname",
Properties = new AzureNative.App.Inputs.HttpRouteConfigPropertiesArgs
{
CustomDomains = new[]
{
new AzureNative.App.Inputs.CustomDomainArgs
{
BindingType = AzureNative.App.BindingType.SniEnabled,
CertificateId = "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1",
Name = "example.com",
},
},
Rules = new[]
{
new AzureNative.App.Inputs.HttpRouteRuleArgs
{
Description = "random-description",
Routes = new[]
{
new AzureNative.App.Inputs.HttpRouteArgs
{
Action = new AzureNative.App.Inputs.HttpRouteActionArgs
{
PrefixRewrite = "/v1/api",
},
Match = new AzureNative.App.Inputs.HttpRouteMatchArgs
{
CaseSensitive = true,
Path = "/v1",
},
},
},
Targets = new[]
{
new AzureNative.App.Inputs.HttpRouteTargetArgs
{
ContainerApp = "capp-1",
Revision = "rev-1",
Weight = 100,
},
},
},
},
},
ResourceGroupName = "examplerg",
});
});
Content copied to clipboard
package main
import (
app "github.com/pulumi/pulumi-azure-native-sdk/app/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := app.NewHttpRouteConfig(ctx, "httpRouteConfig", &app.HttpRouteConfigArgs{
EnvironmentName: pulumi.String("testcontainerenv"),
HttpRouteName: pulumi.String("httproutefriendlyname"),
Properties: &app.HttpRouteConfigPropertiesArgs{
CustomDomains: app.CustomDomainArray{
&app.CustomDomainArgs{
BindingType: pulumi.String(app.BindingTypeSniEnabled),
CertificateId: pulumi.String("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"),
Name: pulumi.String("example.com"),
},
},
Rules: app.HttpRouteRuleArray{
&app.HttpRouteRuleArgs{
Description: pulumi.String("random-description"),
Routes: app.HttpRouteArray{
&app.HttpRouteArgs{
Action: &app.HttpRouteActionArgs{
PrefixRewrite: pulumi.String("/v1/api"),
},
Match: &app.HttpRouteMatchArgs{
CaseSensitive: pulumi.Bool(true),
Path: pulumi.String("/v1"),
},
},
},
Targets: app.HttpRouteTargetArray{
&app.HttpRouteTargetArgs{
ContainerApp: pulumi.String("capp-1"),
Revision: pulumi.String("rev-1"),
Weight: pulumi.Int(100),
},
},
},
},
},
ResourceGroupName: pulumi.String("examplerg"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.app.HttpRouteConfig;
import com.pulumi.azurenative.app.HttpRouteConfigArgs;
import com.pulumi.azurenative.app.inputs.HttpRouteConfigPropertiesArgs;
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 httpRouteConfig = new HttpRouteConfig("httpRouteConfig", HttpRouteConfigArgs.builder()
.environmentName("testcontainerenv")
.httpRouteName("httproutefriendlyname")
.properties(HttpRouteConfigPropertiesArgs.builder()
.customDomains(CustomDomainArgs.builder()
.bindingType("SniEnabled")
.certificateId("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1")
.name("example.com")
.build())
.rules(HttpRouteRuleArgs.builder()
.description("random-description")
.routes(HttpRouteArgs.builder()
.action(HttpRouteActionArgs.builder()
.prefixRewrite("/v1/api")
.build())
.match(HttpRouteMatchArgs.builder()
.caseSensitive(true)
.path("/v1")
.build())
.build())
.targets(HttpRouteTargetArgs.builder()
.containerApp("capp-1")
.revision("rev-1")
.weight(100)
.build())
.build())
.build())
.resourceGroupName("examplerg")
.build());
}
}
Content copied to clipboard
Create or Update Http Route Path Separated Prefix Rule
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var httpRouteConfig = new AzureNative.App.HttpRouteConfig("httpRouteConfig", new()
{
EnvironmentName = "testcontainerenv",
HttpRouteName = "httproutefriendlyname",
Properties = new AzureNative.App.Inputs.HttpRouteConfigPropertiesArgs
{
CustomDomains = new[]
{
new AzureNative.App.Inputs.CustomDomainArgs
{
BindingType = AzureNative.App.BindingType.Disabled,
CertificateId = "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1",
Name = "example.com",
},
},
Rules = new[]
{
new AzureNative.App.Inputs.HttpRouteRuleArgs
{
Description = "random-description",
Routes = new[]
{
new AzureNative.App.Inputs.HttpRouteArgs
{
Action = new AzureNative.App.Inputs.HttpRouteActionArgs
{
PrefixRewrite = "/v1/api",
},
Match = new AzureNative.App.Inputs.HttpRouteMatchArgs
{
CaseSensitive = true,
PathSeparatedPrefix = "/v1",
},
},
},
Targets = new[]
{
new AzureNative.App.Inputs.HttpRouteTargetArgs
{
ContainerApp = "capp-1",
Label = "label-1",
},
},
},
},
},
ResourceGroupName = "examplerg",
});
});
Content copied to clipboard
package main
import (
app "github.com/pulumi/pulumi-azure-native-sdk/app/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := app.NewHttpRouteConfig(ctx, "httpRouteConfig", &app.HttpRouteConfigArgs{
EnvironmentName: pulumi.String("testcontainerenv"),
HttpRouteName: pulumi.String("httproutefriendlyname"),
Properties: &app.HttpRouteConfigPropertiesArgs{
CustomDomains: app.CustomDomainArray{
&app.CustomDomainArgs{
BindingType: pulumi.String(app.BindingTypeDisabled),
CertificateId: pulumi.String("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"),
Name: pulumi.String("example.com"),
},
},
Rules: app.HttpRouteRuleArray{
&app.HttpRouteRuleArgs{
Description: pulumi.String("random-description"),
Routes: app.HttpRouteArray{
&app.HttpRouteArgs{
Action: &app.HttpRouteActionArgs{
PrefixRewrite: pulumi.String("/v1/api"),
},
Match: &app.HttpRouteMatchArgs{
CaseSensitive: pulumi.Bool(true),
PathSeparatedPrefix: pulumi.String("/v1"),
},
},
},
Targets: app.HttpRouteTargetArray{
&app.HttpRouteTargetArgs{
ContainerApp: pulumi.String("capp-1"),
Label: pulumi.String("label-1"),
},
},
},
},
},
ResourceGroupName: pulumi.String("examplerg"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.app.HttpRouteConfig;
import com.pulumi.azurenative.app.HttpRouteConfigArgs;
import com.pulumi.azurenative.app.inputs.HttpRouteConfigPropertiesArgs;
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 httpRouteConfig = new HttpRouteConfig("httpRouteConfig", HttpRouteConfigArgs.builder()
.environmentName("testcontainerenv")
.httpRouteName("httproutefriendlyname")
.properties(HttpRouteConfigPropertiesArgs.builder()
.customDomains(CustomDomainArgs.builder()
.bindingType("Disabled")
.certificateId("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1")
.name("example.com")
.build())
.rules(HttpRouteRuleArgs.builder()
.description("random-description")
.routes(HttpRouteArgs.builder()
.action(HttpRouteActionArgs.builder()
.prefixRewrite("/v1/api")
.build())
.match(HttpRouteMatchArgs.builder()
.caseSensitive(true)
.pathSeparatedPrefix("/v1")
.build())
.build())
.targets(HttpRouteTargetArgs.builder()
.containerApp("capp-1")
.label("label-1")
.build())
.build())
.build())
.resourceGroupName("examplerg")
.build());
}
}
Content copied to clipboard
Create or Update Http Route Prefix Rule
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var httpRouteConfig = new AzureNative.App.HttpRouteConfig("httpRouteConfig", new()
{
EnvironmentName = "testcontainerenv",
HttpRouteName = "httproutefriendlyname",
Properties = new AzureNative.App.Inputs.HttpRouteConfigPropertiesArgs
{
CustomDomains = new[]
{
new AzureNative.App.Inputs.CustomDomainArgs
{
BindingType = AzureNative.App.BindingType.Disabled,
CertificateId = "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1",
Name = "example.com",
},
},
Rules = new[]
{
new AzureNative.App.Inputs.HttpRouteRuleArgs
{
Description = "random-description",
Routes = new[]
{
new AzureNative.App.Inputs.HttpRouteArgs
{
Action = new AzureNative.App.Inputs.HttpRouteActionArgs
{
PrefixRewrite = "/v1/api",
},
Match = new AzureNative.App.Inputs.HttpRouteMatchArgs
{
CaseSensitive = true,
Prefix = "/v1",
},
},
},
Targets = new[]
{
new AzureNative.App.Inputs.HttpRouteTargetArgs
{
ContainerApp = "capp-1",
Label = "label-1",
},
},
},
},
},
ResourceGroupName = "examplerg",
});
});
Content copied to clipboard
package main
import (
app "github.com/pulumi/pulumi-azure-native-sdk/app/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := app.NewHttpRouteConfig(ctx, "httpRouteConfig", &app.HttpRouteConfigArgs{
EnvironmentName: pulumi.String("testcontainerenv"),
HttpRouteName: pulumi.String("httproutefriendlyname"),
Properties: &app.HttpRouteConfigPropertiesArgs{
CustomDomains: app.CustomDomainArray{
&app.CustomDomainArgs{
BindingType: pulumi.String(app.BindingTypeDisabled),
CertificateId: pulumi.String("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1"),
Name: pulumi.String("example.com"),
},
},
Rules: app.HttpRouteRuleArray{
&app.HttpRouteRuleArgs{
Description: pulumi.String("random-description"),
Routes: app.HttpRouteArray{
&app.HttpRouteArgs{
Action: &app.HttpRouteActionArgs{
PrefixRewrite: pulumi.String("/v1/api"),
},
Match: &app.HttpRouteMatchArgs{
CaseSensitive: pulumi.Bool(true),
Prefix: pulumi.String("/v1"),
},
},
},
Targets: app.HttpRouteTargetArray{
&app.HttpRouteTargetArgs{
ContainerApp: pulumi.String("capp-1"),
Label: pulumi.String("label-1"),
},
},
},
},
},
ResourceGroupName: pulumi.String("examplerg"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.app.HttpRouteConfig;
import com.pulumi.azurenative.app.HttpRouteConfigArgs;
import com.pulumi.azurenative.app.inputs.HttpRouteConfigPropertiesArgs;
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 httpRouteConfig = new HttpRouteConfig("httpRouteConfig", HttpRouteConfigArgs.builder()
.environmentName("testcontainerenv")
.httpRouteName("httproutefriendlyname")
.properties(HttpRouteConfigPropertiesArgs.builder()
.customDomains(CustomDomainArgs.builder()
.bindingType("Disabled")
.certificateId("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1")
.name("example.com")
.build())
.rules(HttpRouteRuleArgs.builder()
.description("random-description")
.routes(HttpRouteArgs.builder()
.action(HttpRouteActionArgs.builder()
.prefixRewrite("/v1/api")
.build())
.match(HttpRouteMatchArgs.builder()
.caseSensitive(true)
.prefix("/v1")
.build())
.build())
.targets(HttpRouteTargetArgs.builder()
.containerApp("capp-1")
.label("label-1")
.build())
.build())
.build())
.resourceGroupName("examplerg")
.build());
}
}
Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:app:HttpRouteConfig myresource1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/httpRouteConfigs/{httpRouteName}
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(environmentName: Output<String>? = null, httpRouteName: Output<String>? = null, properties: Output<HttpRouteConfigPropertiesArgs>? = null, resourceGroupName: Output<String>? = null)