All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
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.
com.pulumi.azurenative.migrate.kotlin.inputs.AzureSettingsArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.migrate.kotlin.inputs
import com.pulumi.azurenative.migrate.inputs.AzureSettingsArgs.builder
import com.pulumi.azurenative.migrate.kotlin.enums.BusinessCaseCurrency
import com.pulumi.azurenative.migrate.kotlin.enums.DiscoverySource
import com.pulumi.azurenative.migrate.kotlin.enums.MigrationStrategy
import com.pulumi.azurenative.migrate.kotlin.enums.SavingsOption
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 kotlin.Double
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Azure settings for a business case.
* @property avsLaborCostPercentage Gets Avs labour cost percentage.
* @property businessCaseType Migration Strategy.
* @property comfortFactor Gets comfort factor.
* @property currency Business case Currency.
* @property discountPercentage Gets azure Discount percentage.
* @property iaasLaborCostPercentage Gets IaaS labour cost percentage.
* @property infrastructureGrowthRate Gets infrastructure growth rate.
* @property networkCostPercentage Gets network cost percentage.
* @property paasLaborCostPercentage Gets PaaS labour cost percentage.
* @property perYearMigrationCompletionPercentage Gets migration completion percentage per year.
* @property performanceDataEndTime Gets end time to use for performance.
* @property performanceDataStartTime Gets start time to use for performance.
* @property performanceUtilizationPercentile Gets utilization percentile for performance.
* @property savingsOption Gets the business case savings option type.
* @property targetLocation Gets or sets azure location.
* @property wacc Gets wACC percentage.
* @property workloadDiscoverySource Workload discovery source.
*/
public data class AzureSettingsArgs(
public val avsLaborCostPercentage: Output? = null,
public val businessCaseType: Output>? = null,
public val comfortFactor: Output? = null,
public val currency: Output>,
public val discountPercentage: Output? = null,
public val iaasLaborCostPercentage: Output? = null,
public val infrastructureGrowthRate: Output? = null,
public val networkCostPercentage: Output? = null,
public val paasLaborCostPercentage: Output? = null,
public val perYearMigrationCompletionPercentage: Output>? = null,
public val performanceDataEndTime: Output? = null,
public val performanceDataStartTime: Output? = null,
public val performanceUtilizationPercentile: Output? = null,
public val savingsOption: Output>? = null,
public val targetLocation: Output,
public val wacc: Output? = null,
public val workloadDiscoverySource: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.migrate.inputs.AzureSettingsArgs =
com.pulumi.azurenative.migrate.inputs.AzureSettingsArgs.builder()
.avsLaborCostPercentage(avsLaborCostPercentage?.applyValue({ args0 -> args0 }))
.businessCaseType(
businessCaseType?.applyValue({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
}),
)
.comfortFactor(comfortFactor?.applyValue({ args0 -> args0 }))
.currency(
currency.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.discountPercentage(discountPercentage?.applyValue({ args0 -> args0 }))
.iaasLaborCostPercentage(iaasLaborCostPercentage?.applyValue({ args0 -> args0 }))
.infrastructureGrowthRate(infrastructureGrowthRate?.applyValue({ args0 -> args0 }))
.networkCostPercentage(networkCostPercentage?.applyValue({ args0 -> args0 }))
.paasLaborCostPercentage(paasLaborCostPercentage?.applyValue({ args0 -> args0 }))
.perYearMigrationCompletionPercentage(
perYearMigrationCompletionPercentage?.applyValue({ args0 ->
args0.map({ args0 -> args0.key.to(args0.value) }).toMap()
}),
)
.performanceDataEndTime(performanceDataEndTime?.applyValue({ args0 -> args0 }))
.performanceDataStartTime(performanceDataStartTime?.applyValue({ args0 -> args0 }))
.performanceUtilizationPercentile(performanceUtilizationPercentile?.applyValue({ args0 -> args0 }))
.savingsOption(
savingsOption?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.targetLocation(targetLocation.applyValue({ args0 -> args0 }))
.wacc(wacc?.applyValue({ args0 -> args0 }))
.workloadDiscoverySource(
workloadDiscoverySource?.applyValue({ args0 ->
args0.transform({ args0 ->
args0
}, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
).build()
}
/**
* Builder for [AzureSettingsArgs].
*/
@PulumiTagMarker
public class AzureSettingsArgsBuilder internal constructor() {
private var avsLaborCostPercentage: Output? = null
private var businessCaseType: Output>? = null
private var comfortFactor: Output? = null
private var currency: Output>? = null
private var discountPercentage: Output? = null
private var iaasLaborCostPercentage: Output? = null
private var infrastructureGrowthRate: Output? = null
private var networkCostPercentage: Output? = null
private var paasLaborCostPercentage: Output? = null
private var perYearMigrationCompletionPercentage: Output>? = null
private var performanceDataEndTime: Output? = null
private var performanceDataStartTime: Output? = null
private var performanceUtilizationPercentile: Output? = null
private var savingsOption: Output>? = null
private var targetLocation: Output? = null
private var wacc: Output? = null
private var workloadDiscoverySource: Output>? = null
/**
* @param value Gets Avs labour cost percentage.
*/
@JvmName("ybwfnkjtboaapqaf")
public suspend fun avsLaborCostPercentage(`value`: Output) {
this.avsLaborCostPercentage = value
}
/**
* @param value Migration Strategy.
*/
@JvmName("xsyemvtrtftyqqac")
public suspend fun businessCaseType(`value`: Output>) {
this.businessCaseType = value
}
/**
* @param value Gets comfort factor.
*/
@JvmName("mcclnidrxpfksasc")
public suspend fun comfortFactor(`value`: Output) {
this.comfortFactor = value
}
/**
* @param value Business case Currency.
*/
@JvmName("dvegnqktxondcdhr")
public suspend fun currency(`value`: Output>) {
this.currency = value
}
/**
* @param value Gets azure Discount percentage.
*/
@JvmName("hnqrltmsvgnkviyi")
public suspend fun discountPercentage(`value`: Output) {
this.discountPercentage = value
}
/**
* @param value Gets IaaS labour cost percentage.
*/
@JvmName("hoytwennksmdctlf")
public suspend fun iaasLaborCostPercentage(`value`: Output) {
this.iaasLaborCostPercentage = value
}
/**
* @param value Gets infrastructure growth rate.
*/
@JvmName("hecnqumubgbaojkg")
public suspend fun infrastructureGrowthRate(`value`: Output) {
this.infrastructureGrowthRate = value
}
/**
* @param value Gets network cost percentage.
*/
@JvmName("mbqsufwkfhxldrpb")
public suspend fun networkCostPercentage(`value`: Output) {
this.networkCostPercentage = value
}
/**
* @param value Gets PaaS labour cost percentage.
*/
@JvmName("uputantvtwmhyrng")
public suspend fun paasLaborCostPercentage(`value`: Output) {
this.paasLaborCostPercentage = value
}
/**
* @param value Gets migration completion percentage per year.
*/
@JvmName("vbjhhpppcrvqpckw")
public suspend fun perYearMigrationCompletionPercentage(`value`: Output>) {
this.perYearMigrationCompletionPercentage = value
}
/**
* @param value Gets end time to use for performance.
*/
@JvmName("xhimrlknaebscbxa")
public suspend fun performanceDataEndTime(`value`: Output) {
this.performanceDataEndTime = value
}
/**
* @param value Gets start time to use for performance.
*/
@JvmName("hhaedxhcamwimlff")
public suspend fun performanceDataStartTime(`value`: Output) {
this.performanceDataStartTime = value
}
/**
* @param value Gets utilization percentile for performance.
*/
@JvmName("wbytdmerglriqwxe")
public suspend fun performanceUtilizationPercentile(`value`: Output) {
this.performanceUtilizationPercentile = value
}
/**
* @param value Gets the business case savings option type.
*/
@JvmName("fmgxvbfviejfhllw")
public suspend fun savingsOption(`value`: Output>) {
this.savingsOption = value
}
/**
* @param value Gets or sets azure location.
*/
@JvmName("apguoowvciogovau")
public suspend fun targetLocation(`value`: Output) {
this.targetLocation = value
}
/**
* @param value Gets wACC percentage.
*/
@JvmName("vpynbxkvajhqslwi")
public suspend fun wacc(`value`: Output) {
this.wacc = value
}
/**
* @param value Workload discovery source.
*/
@JvmName("wyxduouhbdmeqsua")
public suspend fun workloadDiscoverySource(`value`: Output>) {
this.workloadDiscoverySource = value
}
/**
* @param value Gets Avs labour cost percentage.
*/
@JvmName("yhyajxtrpturcyyd")
public suspend fun avsLaborCostPercentage(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.avsLaborCostPercentage = mapped
}
/**
* @param value Migration Strategy.
*/
@JvmName("mlkpbxsxhaavibcw")
public suspend fun businessCaseType(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.businessCaseType = mapped
}
/**
* @param value Migration Strategy.
*/
@JvmName("hplatckgfavypdcd")
public fun businessCaseType(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.businessCaseType = mapped
}
/**
* @param value Migration Strategy.
*/
@JvmName("wtekcygpjowuhrfl")
public fun businessCaseType(`value`: MigrationStrategy) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.businessCaseType = mapped
}
/**
* @param value Gets comfort factor.
*/
@JvmName("rkhxogulhxlktswi")
public suspend fun comfortFactor(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.comfortFactor = mapped
}
/**
* @param value Business case Currency.
*/
@JvmName("muucrislidvubvfg")
public suspend fun currency(`value`: Either) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.currency = mapped
}
/**
* @param value Business case Currency.
*/
@JvmName("afwhsuajjqxbsfba")
public fun currency(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.currency = mapped
}
/**
* @param value Business case Currency.
*/
@JvmName("ymudwidxslfvktkm")
public fun currency(`value`: BusinessCaseCurrency) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.currency = mapped
}
/**
* @param value Gets azure Discount percentage.
*/
@JvmName("esebpnskqhhcohjx")
public suspend fun discountPercentage(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.discountPercentage = mapped
}
/**
* @param value Gets IaaS labour cost percentage.
*/
@JvmName("conjhwtlqpcjidtw")
public suspend fun iaasLaborCostPercentage(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.iaasLaborCostPercentage = mapped
}
/**
* @param value Gets infrastructure growth rate.
*/
@JvmName("hakrhqliixqvbbvq")
public suspend fun infrastructureGrowthRate(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.infrastructureGrowthRate = mapped
}
/**
* @param value Gets network cost percentage.
*/
@JvmName("qwgihmlywsegsysl")
public suspend fun networkCostPercentage(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.networkCostPercentage = mapped
}
/**
* @param value Gets PaaS labour cost percentage.
*/
@JvmName("cajilcltamnehsda")
public suspend fun paasLaborCostPercentage(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.paasLaborCostPercentage = mapped
}
/**
* @param value Gets migration completion percentage per year.
*/
@JvmName("jcsxhlhvjwjkhbrp")
public suspend fun perYearMigrationCompletionPercentage(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.perYearMigrationCompletionPercentage = mapped
}
/**
* @param values Gets migration completion percentage per year.
*/
@JvmName("muphjyuvpgtytgfc")
public fun perYearMigrationCompletionPercentage(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.perYearMigrationCompletionPercentage = mapped
}
/**
* @param value Gets end time to use for performance.
*/
@JvmName("gsxefjpajblxyadg")
public suspend fun performanceDataEndTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.performanceDataEndTime = mapped
}
/**
* @param value Gets start time to use for performance.
*/
@JvmName("insampukenskucwq")
public suspend fun performanceDataStartTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.performanceDataStartTime = mapped
}
/**
* @param value Gets utilization percentile for performance.
*/
@JvmName("siyuqpnnfavndsuh")
public suspend fun performanceUtilizationPercentile(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.performanceUtilizationPercentile = mapped
}
/**
* @param value Gets the business case savings option type.
*/
@JvmName("mejbakqsvjkklcrc")
public suspend fun savingsOption(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.savingsOption = mapped
}
/**
* @param value Gets the business case savings option type.
*/
@JvmName("jlhxivjmicgpwheo")
public fun savingsOption(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.savingsOption = mapped
}
/**
* @param value Gets the business case savings option type.
*/
@JvmName("xqdfntjfpyfjlrih")
public fun savingsOption(`value`: SavingsOption) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.savingsOption = mapped
}
/**
* @param value Gets or sets azure location.
*/
@JvmName("atovselbaimbwcum")
public suspend fun targetLocation(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.targetLocation = mapped
}
/**
* @param value Gets wACC percentage.
*/
@JvmName("bmgdmrbtwyfmlqwe")
public suspend fun wacc(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.wacc = mapped
}
/**
* @param value Workload discovery source.
*/
@JvmName("iepimrdlielhfxua")
public suspend fun workloadDiscoverySource(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.workloadDiscoverySource = mapped
}
/**
* @param value Workload discovery source.
*/
@JvmName("luebgnflxqdyjdtl")
public fun workloadDiscoverySource(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.workloadDiscoverySource = mapped
}
/**
* @param value Workload discovery source.
*/
@JvmName("wvbpvbbormwygmla")
public fun workloadDiscoverySource(`value`: DiscoverySource) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.workloadDiscoverySource = mapped
}
internal fun build(): AzureSettingsArgs = AzureSettingsArgs(
avsLaborCostPercentage = avsLaborCostPercentage,
businessCaseType = businessCaseType,
comfortFactor = comfortFactor,
currency = currency ?: throw PulumiNullFieldException("currency"),
discountPercentage = discountPercentage,
iaasLaborCostPercentage = iaasLaborCostPercentage,
infrastructureGrowthRate = infrastructureGrowthRate,
networkCostPercentage = networkCostPercentage,
paasLaborCostPercentage = paasLaborCostPercentage,
perYearMigrationCompletionPercentage = perYearMigrationCompletionPercentage,
performanceDataEndTime = performanceDataEndTime,
performanceDataStartTime = performanceDataStartTime,
performanceUtilizationPercentile = performanceUtilizationPercentile,
savingsOption = savingsOption,
targetLocation = targetLocation ?: throw PulumiNullFieldException("targetLocation"),
wacc = wacc,
workloadDiscoverySource = workloadDiscoverySource,
)
}