Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.servicefabric.kotlin.inputs
import com.pulumi.azurenative.servicefabric.inputs.StatefulServicePropertiesArgs.builder
import com.pulumi.azurenative.servicefabric.kotlin.enums.MoveCost
import com.pulumi.azurenative.servicefabric.kotlin.enums.ServicePackageActivationMode
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Any
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* The properties of a stateful service resource.
* @property correlationScheme A list that describes the correlation of the service with other services.
* @property defaultMoveCost Specifies the move cost for the service.
* @property hasPersistedState A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false.
* @property minReplicaSetSize The minimum replica set size as a number.
* @property partitionDescription Describes how the service is partitioned.
* @property placementConstraints The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
* @property quorumLossWaitDuration The maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format "hh:mm:ss".
* @property replicaRestartWaitDuration The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format "hh:mm:ss".
* @property scalingPolicies Scaling policies for this service.
* @property serviceDnsName Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).
* When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
* When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
* @property serviceKind The kind of service (Stateless or Stateful).
* Expected value is 'Stateful'.
* @property serviceLoadMetrics The service load metrics is given as an array of ServiceLoadMetric objects.
* @property servicePackageActivationMode The activation Mode of the service package
* @property servicePlacementPolicies A list that describes the correlation of the service with other services.
* @property servicePlacementTimeLimit The duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format "hh:mm:ss".
* @property serviceTypeName The name of the service type
* @property standByReplicaKeepDuration The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format "hh:mm:ss".
* @property targetReplicaSetSize The target replica set size as a number.
*/
public data class StatefulServicePropertiesArgs(
public val correlationScheme: Output>? = null,
public val defaultMoveCost: Output>? = null,
public val hasPersistedState: Output? = null,
public val minReplicaSetSize: Output? = null,
public val partitionDescription: Output,
public val placementConstraints: Output? = null,
public val quorumLossWaitDuration: Output? = null,
public val replicaRestartWaitDuration: Output? = null,
public val scalingPolicies: Output>? = null,
public val serviceDnsName: Output? = null,
public val serviceKind: Output,
public val serviceLoadMetrics: Output>? = null,
public val servicePackageActivationMode: Output>? =
null,
public val servicePlacementPolicies: Output>? = null,
public val servicePlacementTimeLimit: Output? = null,
public val serviceTypeName: Output,
public val standByReplicaKeepDuration: Output? = null,
public val targetReplicaSetSize: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.servicefabric.inputs.StatefulServicePropertiesArgs =
com.pulumi.azurenative.servicefabric.inputs.StatefulServicePropertiesArgs.builder()
.correlationScheme(
correlationScheme?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.defaultMoveCost(
defaultMoveCost?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.hasPersistedState(hasPersistedState?.applyValue({ args0 -> args0 }))
.minReplicaSetSize(minReplicaSetSize?.applyValue({ args0 -> args0 }))
.partitionDescription(partitionDescription.applyValue({ args0 -> args0 }))
.placementConstraints(placementConstraints?.applyValue({ args0 -> args0 }))
.quorumLossWaitDuration(quorumLossWaitDuration?.applyValue({ args0 -> args0 }))
.replicaRestartWaitDuration(replicaRestartWaitDuration?.applyValue({ args0 -> args0 }))
.scalingPolicies(
scalingPolicies?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.serviceDnsName(serviceDnsName?.applyValue({ args0 -> args0 }))
.serviceKind(serviceKind.applyValue({ args0 -> args0 }))
.serviceLoadMetrics(
serviceLoadMetrics?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.servicePackageActivationMode(
servicePackageActivationMode?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.servicePlacementPolicies(
servicePlacementPolicies?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.servicePlacementTimeLimit(servicePlacementTimeLimit?.applyValue({ args0 -> args0 }))
.serviceTypeName(serviceTypeName.applyValue({ args0 -> args0 }))
.standByReplicaKeepDuration(standByReplicaKeepDuration?.applyValue({ args0 -> args0 }))
.targetReplicaSetSize(targetReplicaSetSize?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [StatefulServicePropertiesArgs].
*/
@PulumiTagMarker
public class StatefulServicePropertiesArgsBuilder internal constructor() {
private var correlationScheme: Output>? = null
private var defaultMoveCost: Output>? = null
private var hasPersistedState: Output? = null
private var minReplicaSetSize: Output? = null
private var partitionDescription: Output? = null
private var placementConstraints: Output? = null
private var quorumLossWaitDuration: Output? = null
private var replicaRestartWaitDuration: Output? = null
private var scalingPolicies: Output>? = null
private var serviceDnsName: Output? = null
private var serviceKind: Output? = null
private var serviceLoadMetrics: Output>? = null
private var servicePackageActivationMode: Output>? =
null
private var servicePlacementPolicies: Output>? = null
private var servicePlacementTimeLimit: Output? = null
private var serviceTypeName: Output? = null
private var standByReplicaKeepDuration: Output? = null
private var targetReplicaSetSize: Output? = null
/**
* @param value A list that describes the correlation of the service with other services.
*/
@JvmName("jhrvwvxpslcxjpef")
public suspend fun correlationScheme(`value`: Output>) {
this.correlationScheme = value
}
@JvmName("xgpuhnjyjygnkkxg")
public suspend fun correlationScheme(vararg values: Output) {
this.correlationScheme = Output.all(values.asList())
}
/**
* @param values A list that describes the correlation of the service with other services.
*/
@JvmName("qpwsucvqsqcjvdlj")
public suspend fun correlationScheme(values: List