ApplicationArgs

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",
});
});
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
})
}
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());
}
}

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",
});
});
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
})
}
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());
}
}

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}

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
val applicationName: Output<String>? = null

The name of the application resource.

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

The name of the cluster resource.

Link copied to clipboard
val identity: Output<ManagedIdentityArgs>? = null

Describes the managed identities for an Azure resource.

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

The geo-location where the resource lives

Link copied to clipboard

List of user assigned identities for the application, each mapped to a friendly name.

Link copied to clipboard
val parameters: Output<Map<String, String>>? = null

List of application parameters with overridden values from their default values specified in the application manifest.

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

The name of the resource group. The name is case insensitive.

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

Resource tags.

Link copied to clipboard

Describes the policy for a monitored application upgrade.

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

The version of the application type as defined in the application manifest. This name must be the full Arm Resource ID for the referenced application type version.

Functions

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