App Resiliency Args
data class AppResiliencyArgs(val appName: Output<String>? = null, val circuitBreakerPolicy: Output<CircuitBreakerPolicyArgs>? = null, val httpConnectionPool: Output<HttpConnectionPoolArgs>? = null, val httpRetryPolicy: Output<HttpRetryPolicyArgs>? = null, val name: Output<String>? = null, val resourceGroupName: Output<String>? = null, val tcpConnectionPool: Output<TcpConnectionPoolArgs>? = null, val tcpRetryPolicy: Output<TcpRetryPolicyArgs>? = null, val timeoutPolicy: Output<TimeoutPolicyArgs>? = null) : ConvertibleToJava<AppResiliencyArgs>
Configuration to setup App Resiliency Uses Azure REST API version 2023-08-01-preview. Other available API versions: 2023-11-02-preview, 2024-02-02-preview, 2024-08-02-preview, 2024-10-02-preview.
Example Usage
Create or Update App Resiliency
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var appResiliency = new AzureNative.App.AppResiliency("appResiliency", new()
{
AppName = "testcontainerApp0",
CircuitBreakerPolicy = new AzureNative.App.Inputs.CircuitBreakerPolicyArgs
{
ConsecutiveErrors = 5,
IntervalInSeconds = 10,
MaxEjectionPercent = 50,
},
HttpConnectionPool = new AzureNative.App.Inputs.HttpConnectionPoolArgs
{
Http1MaxPendingRequests = 1024,
Http2MaxRequests = 1024,
},
HttpRetryPolicy = new AzureNative.App.Inputs.HttpRetryPolicyArgs
{
Errors = new[]
{
"5xx",
"connect-failure",
"reset",
"retriable-headers",
"retriable-status-codes",
},
Headers = new[]
{
new AzureNative.App.Inputs.HeaderMatchArgs
{
Header = "X-Content-Type",
PrefixMatch = "GOATS",
},
},
HttpStatusCodes = new[]
{
502,
503,
},
InitialDelayInMilliseconds = 1000,
MaxIntervalInMilliseconds = 10000,
MaxRetries = 5,
},
Name = "resiliency-policy-1",
ResourceGroupName = "rg",
TcpConnectionPool = new AzureNative.App.Inputs.TcpConnectionPoolArgs
{
MaxConnections = 100,
},
TcpRetryPolicy = new AzureNative.App.Inputs.TcpRetryPolicyArgs
{
MaxConnectAttempts = 3,
},
TimeoutPolicy = new AzureNative.App.Inputs.TimeoutPolicyArgs
{
ConnectionTimeoutInSeconds = 5,
ResponseTimeoutInSeconds = 15,
},
});
});
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.NewAppResiliency(ctx, "appResiliency", &app.AppResiliencyArgs{
AppName: pulumi.String("testcontainerApp0"),
CircuitBreakerPolicy: &app.CircuitBreakerPolicyArgs{
ConsecutiveErrors: pulumi.Int(5),
IntervalInSeconds: pulumi.Int(10),
MaxEjectionPercent: pulumi.Int(50),
},
HttpConnectionPool: &app.HttpConnectionPoolArgs{
Http1MaxPendingRequests: pulumi.Int(1024),
Http2MaxRequests: pulumi.Int(1024),
},
HttpRetryPolicy: &app.HttpRetryPolicyArgs{
Errors: pulumi.StringArray{
pulumi.String("5xx"),
pulumi.String("connect-failure"),
pulumi.String("reset"),
pulumi.String("retriable-headers"),
pulumi.String("retriable-status-codes"),
},
Headers: app.HeaderMatchArray{
&app.HeaderMatchArgs{
Header: pulumi.String("X-Content-Type"),
PrefixMatch: pulumi.String("GOATS"),
},
},
HttpStatusCodes: pulumi.IntArray{
pulumi.Int(502),
pulumi.Int(503),
},
InitialDelayInMilliseconds: pulumi.Float64(1000),
MaxIntervalInMilliseconds: pulumi.Float64(10000),
MaxRetries: pulumi.Int(5),
},
Name: pulumi.String("resiliency-policy-1"),
ResourceGroupName: pulumi.String("rg"),
TcpConnectionPool: &app.TcpConnectionPoolArgs{
MaxConnections: pulumi.Int(100),
},
TcpRetryPolicy: &app.TcpRetryPolicyArgs{
MaxConnectAttempts: pulumi.Int(3),
},
TimeoutPolicy: &app.TimeoutPolicyArgs{
ConnectionTimeoutInSeconds: pulumi.Int(5),
ResponseTimeoutInSeconds: pulumi.Int(15),
},
})
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.AppResiliency;
import com.pulumi.azurenative.app.AppResiliencyArgs;
import com.pulumi.azurenative.app.inputs.CircuitBreakerPolicyArgs;
import com.pulumi.azurenative.app.inputs.HttpConnectionPoolArgs;
import com.pulumi.azurenative.app.inputs.HttpRetryPolicyArgs;
import com.pulumi.azurenative.app.inputs.TcpConnectionPoolArgs;
import com.pulumi.azurenative.app.inputs.TcpRetryPolicyArgs;
import com.pulumi.azurenative.app.inputs.TimeoutPolicyArgs;
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 appResiliency = new AppResiliency("appResiliency", AppResiliencyArgs.builder()
.appName("testcontainerApp0")
.circuitBreakerPolicy(CircuitBreakerPolicyArgs.builder()
.consecutiveErrors(5)
.intervalInSeconds(10)
.maxEjectionPercent(50)
.build())
.httpConnectionPool(HttpConnectionPoolArgs.builder()
.http1MaxPendingRequests(1024)
.http2MaxRequests(1024)
.build())
.httpRetryPolicy(HttpRetryPolicyArgs.builder()
.errors(
"5xx",
"connect-failure",
"reset",
"retriable-headers",
"retriable-status-codes")
.headers(HeaderMatchArgs.builder()
.header("X-Content-Type")
.prefixMatch("GOATS")
.build())
.httpStatusCodes(
502,
503)
.initialDelayInMilliseconds(1000)
.maxIntervalInMilliseconds(10000)
.maxRetries(5)
.build())
.name("resiliency-policy-1")
.resourceGroupName("rg")
.tcpConnectionPool(TcpConnectionPoolArgs.builder()
.maxConnections(100)
.build())
.tcpRetryPolicy(TcpRetryPolicyArgs.builder()
.maxConnectAttempts(3)
.build())
.timeoutPolicy(TimeoutPolicyArgs.builder()
.connectionTimeoutInSeconds(5)
.responseTimeoutInSeconds(15)
.build())
.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:AppResiliency resiliency-policy-1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{appName}/resiliencyPolicies/{name}
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(appName: Output<String>? = null, circuitBreakerPolicy: Output<CircuitBreakerPolicyArgs>? = null, httpConnectionPool: Output<HttpConnectionPoolArgs>? = null, httpRetryPolicy: Output<HttpRetryPolicyArgs>? = null, name: Output<String>? = null, resourceGroupName: Output<String>? = null, tcpConnectionPool: Output<TcpConnectionPoolArgs>? = null, tcpRetryPolicy: Output<TcpRetryPolicyArgs>? = null, timeoutPolicy: Output<TimeoutPolicyArgs>? = null)
Properties
Link copied to clipboard
Policy that defines circuit breaker conditions
Link copied to clipboard
Defines parameters for http connection pooling
Link copied to clipboard
Policy that defines http request retry conditions
Link copied to clipboard
The name of the resource group. The name is case insensitive.
Link copied to clipboard
Defines parameters for tcp connection pooling
Link copied to clipboard
Policy that defines tcp request retry conditions
Link copied to clipboard
Policy to set request timeouts