Application Args
data class ApplicationArgs(val applicationName: Output<String>? = null, val clusterName: Output<String>? = null, val identity: Output<ManagedIdentityArgs>? = null, val location: Output<String>? = null, val managedIdentities: Output<List<ApplicationUserAssignedIdentityArgs>>? = null, val parameters: Output<Map<String, String>>? = null, val resourceGroupName: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val upgradePolicy: Output<ApplicationUpgradePolicyArgs>? = null, val version: Output<String>? = null) : ConvertibleToJava<ApplicationArgs>
The application resource. Uses Azure REST API version 2024-11-01-preview. In version 2.x of the Azure Native provider, it used API version 2024-11-01-preview.
Example Usage
Put an application with maximum parameters
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var application = new AzureNative.ServiceFabric.Application("application", new()
{
ApplicationName = "myApp",
ClusterName = "myCluster",
Location = "eastus",
Parameters =
{
{ "param1", "value1" },
},
ResourceGroupName = "resRg",
Tags =
{
{ "a", "b" },
},
UpgradePolicy = new AzureNative.ServiceFabric.Inputs.ApplicationUpgradePolicyArgs
{
ApplicationHealthPolicy = new AzureNative.ServiceFabric.Inputs.ApplicationHealthPolicyArgs
{
ConsiderWarningAsError = true,
DefaultServiceTypeHealthPolicy = new AzureNative.ServiceFabric.Inputs.ServiceTypeHealthPolicyArgs
{
MaxPercentUnhealthyPartitionsPerService = 0,
MaxPercentUnhealthyReplicasPerPartition = 0,
MaxPercentUnhealthyServices = 0,
},
MaxPercentUnhealthyDeployedApplications = 0,
ServiceTypeHealthPolicyMap =
{
{ "service1", new AzureNative.ServiceFabric.Inputs.ServiceTypeHealthPolicyArgs
{
MaxPercentUnhealthyPartitionsPerService = 30,
MaxPercentUnhealthyReplicasPerPartition = 30,
MaxPercentUnhealthyServices = 30,
} },
},
},
ForceRestart = false,
InstanceCloseDelayDuration = 600,
RecreateApplication = false,
RollingUpgradeMonitoringPolicy = new AzureNative.ServiceFabric.Inputs.RollingUpgradeMonitoringPolicyArgs
{
FailureAction = AzureNative.ServiceFabric.FailureAction.Rollback,
HealthCheckRetryTimeout = "00:10:00",
HealthCheckStableDuration = "00:05:00",
HealthCheckWaitDuration = "00:02:00",
UpgradeDomainTimeout = "00:15:00",
UpgradeTimeout = "01:00:00",
},
UpgradeMode = AzureNative.ServiceFabric.RollingUpgradeMode.UnmonitoredAuto,
UpgradeReplicaSetCheckTimeout = 3600,
},
Version = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0",
});
});
Content copied to clipboard
package main
import (
servicefabric "github.com/pulumi/pulumi-azure-native-sdk/servicefabric/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := servicefabric.NewApplication(ctx, "application", &servicefabric.ApplicationArgs{
ApplicationName: pulumi.String("myApp"),
ClusterName: pulumi.String("myCluster"),
Location: pulumi.String("eastus"),
Parameters: pulumi.StringMap{
"param1": pulumi.String("value1"),
},
ResourceGroupName: pulumi.String("resRg"),
Tags: pulumi.StringMap{
"a": pulumi.String("b"),
},
UpgradePolicy: &servicefabric.ApplicationUpgradePolicyArgs{
ApplicationHealthPolicy: &servicefabric.ApplicationHealthPolicyArgs{
ConsiderWarningAsError: pulumi.Bool(true),
DefaultServiceTypeHealthPolicy: &servicefabric.ServiceTypeHealthPolicyArgs{
MaxPercentUnhealthyPartitionsPerService: pulumi.Int(0),
MaxPercentUnhealthyReplicasPerPartition: pulumi.Int(0),
MaxPercentUnhealthyServices: pulumi.Int(0),
},
MaxPercentUnhealthyDeployedApplications: pulumi.Int(0),
ServiceTypeHealthPolicyMap: servicefabric.ServiceTypeHealthPolicyMap{
"service1": &servicefabric.ServiceTypeHealthPolicyArgs{
MaxPercentUnhealthyPartitionsPerService: pulumi.Int(30),
MaxPercentUnhealthyReplicasPerPartition: pulumi.Int(30),
MaxPercentUnhealthyServices: pulumi.Int(30),
},
},
},
ForceRestart: pulumi.Bool(false),
InstanceCloseDelayDuration: pulumi.Float64(600),
RecreateApplication: pulumi.Bool(false),
RollingUpgradeMonitoringPolicy: &servicefabric.RollingUpgradeMonitoringPolicyArgs{
FailureAction: pulumi.String(servicefabric.FailureActionRollback),
HealthCheckRetryTimeout: pulumi.String("00:10:00"),
HealthCheckStableDuration: pulumi.String("00:05:00"),
HealthCheckWaitDuration: pulumi.String("00:02:00"),
UpgradeDomainTimeout: pulumi.String("00:15:00"),
UpgradeTimeout: pulumi.String("01:00:00"),
},
UpgradeMode: pulumi.String(servicefabric.RollingUpgradeModeUnmonitoredAuto),
UpgradeReplicaSetCheckTimeout: pulumi.Float64(3600),
},
Version: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0"),
})
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.servicefabric.Application;
import com.pulumi.azurenative.servicefabric.ApplicationArgs;
import com.pulumi.azurenative.servicefabric.inputs.ApplicationUpgradePolicyArgs;
import com.pulumi.azurenative.servicefabric.inputs.ApplicationHealthPolicyArgs;
import com.pulumi.azurenative.servicefabric.inputs.ServiceTypeHealthPolicyArgs;
import com.pulumi.azurenative.servicefabric.inputs.RollingUpgradeMonitoringPolicyArgs;
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 application = new Application("application", ApplicationArgs.builder()
.applicationName("myApp")
.clusterName("myCluster")
.location("eastus")
.parameters(Map.of("param1", "value1"))
.resourceGroupName("resRg")
.tags(Map.of("a", "b"))
.upgradePolicy(ApplicationUpgradePolicyArgs.builder()
.applicationHealthPolicy(ApplicationHealthPolicyArgs.builder()
.considerWarningAsError(true)
.defaultServiceTypeHealthPolicy(ServiceTypeHealthPolicyArgs.builder()
.maxPercentUnhealthyPartitionsPerService(0)
.maxPercentUnhealthyReplicasPerPartition(0)
.maxPercentUnhealthyServices(0)
.build())
.maxPercentUnhealthyDeployedApplications(0)
.serviceTypeHealthPolicyMap(Map.of("service1", Map.ofEntries(
Map.entry("maxPercentUnhealthyPartitionsPerService", 30),
Map.entry("maxPercentUnhealthyReplicasPerPartition", 30),
Map.entry("maxPercentUnhealthyServices", 30)
)))
.build())
.forceRestart(false)
.instanceCloseDelayDuration(600)
.recreateApplication(false)
.rollingUpgradeMonitoringPolicy(RollingUpgradeMonitoringPolicyArgs.builder()
.failureAction("Rollback")
.healthCheckRetryTimeout("00:10:00")
.healthCheckStableDuration("00:05:00")
.healthCheckWaitDuration("00:02:00")
.upgradeDomainTimeout("00:15:00")
.upgradeTimeout("01:00:00")
.build())
.upgradeMode("UnmonitoredAuto")
.upgradeReplicaSetCheckTimeout(3600)
.build())
.version("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0")
.build());
}
}
Content copied to clipboard
Put an application with minimum parameters
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var application = new AzureNative.ServiceFabric.Application("application", new()
{
ApplicationName = "myApp",
ClusterName = "myCluster",
Location = "eastus",
ResourceGroupName = "resRg",
Version = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0",
});
});
Content copied to clipboard
package main
import (
servicefabric "github.com/pulumi/pulumi-azure-native-sdk/servicefabric/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := servicefabric.NewApplication(ctx, "application", &servicefabric.ApplicationArgs{
ApplicationName: pulumi.String("myApp"),
ClusterName: pulumi.String("myCluster"),
Location: pulumi.String("eastus"),
ResourceGroupName: pulumi.String("resRg"),
Version: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0"),
})
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.servicefabric.Application;
import com.pulumi.azurenative.servicefabric.ApplicationArgs;
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 application = new Application("application", ApplicationArgs.builder()
.applicationName("myApp")
.clusterName("myCluster")
.location("eastus")
.resourceGroupName("resRg")
.version("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0")
.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:servicefabric:Application myApp /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/applications/{applicationName}
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(applicationName: Output<String>? = null, clusterName: Output<String>? = null, identity: Output<ManagedIdentityArgs>? = null, location: Output<String>? = null, managedIdentities: Output<List<ApplicationUserAssignedIdentityArgs>>? = null, parameters: Output<Map<String, String>>? = null, resourceGroupName: Output<String>? = null, tags: Output<Map<String, String>>? = null, upgradePolicy: Output<ApplicationUpgradePolicyArgs>? = null, version: Output<String>? = null)
Properties
Link copied to clipboard
The name of the application resource.
Link copied to clipboard
The name of the cluster resource.
Link copied to clipboard
Describes the managed identities for an Azure resource.
Link copied to clipboard
List of user assigned identities for the application, each mapped to a friendly name.
Link copied to clipboard
List of application parameters with overridden values from their default values specified in the application manifest.
Link copied to clipboard
The name of the resource group. The name is case insensitive.
Link copied to clipboard
Describes the policy for a monitored application upgrade.