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.databox.kotlin.inputs.DataBoxDiskJobDetailsArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.databox.kotlin.inputs
import com.pulumi.azurenative.databox.inputs.DataBoxDiskJobDetailsArgs.builder
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.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* DataBox Disk Job Details.
* @property contactDetails Contact details for notification and shipping.
* @property dataExportDetails Details of the data to be exported from azure.
* @property dataImportDetails Details of the data to be imported into azure.
* @property expectedDataSizeInTeraBytes The expected size of the data, which needs to be transferred in this job, in terabytes.
* @property jobDetailsType Indicates the type of job details.
* Expected value is 'DataBoxDisk'.
* @property keyEncryptionKey Details about which key encryption type is being used.
* @property passkey User entered passkey for DataBox Disk job.
* @property preferences Preferences for the order.
* @property preferredDisks User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.
* @property reverseShippingDetails Optional Reverse Shipping details for order.
* @property shippingAddress Shipping address of the customer.
*/
public data class DataBoxDiskJobDetailsArgs(
public val contactDetails: Output,
public val dataExportDetails: Output>? = null,
public val dataImportDetails: Output>? = null,
public val expectedDataSizeInTeraBytes: Output? = null,
public val jobDetailsType: Output,
public val keyEncryptionKey: Output? = null,
public val passkey: Output? = null,
public val preferences: Output? = null,
public val preferredDisks: Output>? = null,
public val reverseShippingDetails: Output? = null,
public val shippingAddress: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.databox.inputs.DataBoxDiskJobDetailsArgs =
com.pulumi.azurenative.databox.inputs.DataBoxDiskJobDetailsArgs.builder()
.contactDetails(contactDetails.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.dataExportDetails(
dataExportDetails?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.dataImportDetails(
dataImportDetails?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.expectedDataSizeInTeraBytes(expectedDataSizeInTeraBytes?.applyValue({ args0 -> args0 }))
.jobDetailsType(jobDetailsType.applyValue({ args0 -> args0 }))
.keyEncryptionKey(keyEncryptionKey?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.passkey(passkey?.applyValue({ args0 -> args0 }))
.preferences(preferences?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.preferredDisks(
preferredDisks?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.reverseShippingDetails(
reverseShippingDetails?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.shippingAddress(
shippingAddress?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [DataBoxDiskJobDetailsArgs].
*/
@PulumiTagMarker
public class DataBoxDiskJobDetailsArgsBuilder internal constructor() {
private var contactDetails: Output? = null
private var dataExportDetails: Output>? = null
private var dataImportDetails: Output>? = null
private var expectedDataSizeInTeraBytes: Output? = null
private var jobDetailsType: Output? = null
private var keyEncryptionKey: Output? = null
private var passkey: Output? = null
private var preferences: Output? = null
private var preferredDisks: Output>? = null
private var reverseShippingDetails: Output? = null
private var shippingAddress: Output? = null
/**
* @param value Contact details for notification and shipping.
*/
@JvmName("vbhpcektacrwqoey")
public suspend fun contactDetails(`value`: Output) {
this.contactDetails = value
}
/**
* @param value Details of the data to be exported from azure.
*/
@JvmName("sljejfkvvnrppinh")
public suspend fun dataExportDetails(`value`: Output>) {
this.dataExportDetails = value
}
@JvmName("absioiftoyvbgnwk")
public suspend fun dataExportDetails(vararg values: Output) {
this.dataExportDetails = Output.all(values.asList())
}
/**
* @param values Details of the data to be exported from azure.
*/
@JvmName("bqewgwtqkbhlagep")
public suspend fun dataExportDetails(values: List>) {
this.dataExportDetails = Output.all(values)
}
/**
* @param value Details of the data to be imported into azure.
*/
@JvmName("uhwinsuuamabonxm")
public suspend fun dataImportDetails(`value`: Output>) {
this.dataImportDetails = value
}
@JvmName("wlebysuxnitncvpu")
public suspend fun dataImportDetails(vararg values: Output) {
this.dataImportDetails = Output.all(values.asList())
}
/**
* @param values Details of the data to be imported into azure.
*/
@JvmName("hoivktpahfntqoam")
public suspend fun dataImportDetails(values: List>) {
this.dataImportDetails = Output.all(values)
}
/**
* @param value The expected size of the data, which needs to be transferred in this job, in terabytes.
*/
@JvmName("ogcvqroajjryonby")
public suspend fun expectedDataSizeInTeraBytes(`value`: Output) {
this.expectedDataSizeInTeraBytes = value
}
/**
* @param value Indicates the type of job details.
* Expected value is 'DataBoxDisk'.
*/
@JvmName("scwwbfpoghavoxqt")
public suspend fun jobDetailsType(`value`: Output) {
this.jobDetailsType = value
}
/**
* @param value Details about which key encryption type is being used.
*/
@JvmName("delrhgajwhtfgkpp")
public suspend fun keyEncryptionKey(`value`: Output) {
this.keyEncryptionKey = value
}
/**
* @param value User entered passkey for DataBox Disk job.
*/
@JvmName("wdxvtsofypehowny")
public suspend fun passkey(`value`: Output) {
this.passkey = value
}
/**
* @param value Preferences for the order.
*/
@JvmName("gtusajqotttwxqja")
public suspend fun preferences(`value`: Output) {
this.preferences = value
}
/**
* @param value User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.
*/
@JvmName("graggqpmkinpnmhl")
public suspend fun preferredDisks(`value`: Output>) {
this.preferredDisks = value
}
/**
* @param value Optional Reverse Shipping details for order.
*/
@JvmName("ptrgocwsnmjfenlb")
public suspend fun reverseShippingDetails(`value`: Output) {
this.reverseShippingDetails = value
}
/**
* @param value Shipping address of the customer.
*/
@JvmName("fiwmjqiwjghamhwh")
public suspend fun shippingAddress(`value`: Output) {
this.shippingAddress = value
}
/**
* @param value Contact details for notification and shipping.
*/
@JvmName("pmtbbomeewfkujjs")
public suspend fun contactDetails(`value`: ContactDetailsArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.contactDetails = mapped
}
/**
* @param argument Contact details for notification and shipping.
*/
@JvmName("efgvudujgesyevtt")
public suspend fun contactDetails(argument: suspend ContactDetailsArgsBuilder.() -> Unit) {
val toBeMapped = ContactDetailsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.contactDetails = mapped
}
/**
* @param value Details of the data to be exported from azure.
*/
@JvmName("oipghvixsftdhggq")
public suspend fun dataExportDetails(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.dataExportDetails = mapped
}
/**
* @param argument Details of the data to be exported from azure.
*/
@JvmName("hbdkacugxwdrvqtw")
public suspend fun dataExportDetails(argument: List Unit>) {
val toBeMapped = argument.toList().map {
DataExportDetailsArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.dataExportDetails = mapped
}
/**
* @param argument Details of the data to be exported from azure.
*/
@JvmName("hbbdvydtjkywbxjq")
public suspend fun dataExportDetails(vararg argument: suspend DataExportDetailsArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
DataExportDetailsArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.dataExportDetails = mapped
}
/**
* @param argument Details of the data to be exported from azure.
*/
@JvmName("iynmtodvrnelnsob")
public suspend fun dataExportDetails(argument: suspend DataExportDetailsArgsBuilder.() -> Unit) {
val toBeMapped = listOf(DataExportDetailsArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.dataExportDetails = mapped
}
/**
* @param values Details of the data to be exported from azure.
*/
@JvmName("fhqgkekjcaxhgkvf")
public suspend fun dataExportDetails(vararg values: DataExportDetailsArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.dataExportDetails = mapped
}
/**
* @param value Details of the data to be imported into azure.
*/
@JvmName("bgldagscwtowgoyw")
public suspend fun dataImportDetails(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.dataImportDetails = mapped
}
/**
* @param argument Details of the data to be imported into azure.
*/
@JvmName("owbjrldcebbcctqu")
public suspend fun dataImportDetails(argument: List Unit>) {
val toBeMapped = argument.toList().map {
DataImportDetailsArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.dataImportDetails = mapped
}
/**
* @param argument Details of the data to be imported into azure.
*/
@JvmName("asphxfmrbxgsryls")
public suspend fun dataImportDetails(vararg argument: suspend DataImportDetailsArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
DataImportDetailsArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.dataImportDetails = mapped
}
/**
* @param argument Details of the data to be imported into azure.
*/
@JvmName("snilvecklfvecyml")
public suspend fun dataImportDetails(argument: suspend DataImportDetailsArgsBuilder.() -> Unit) {
val toBeMapped = listOf(DataImportDetailsArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.dataImportDetails = mapped
}
/**
* @param values Details of the data to be imported into azure.
*/
@JvmName("gehodsghcpplweos")
public suspend fun dataImportDetails(vararg values: DataImportDetailsArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.dataImportDetails = mapped
}
/**
* @param value The expected size of the data, which needs to be transferred in this job, in terabytes.
*/
@JvmName("ymgbtupwpfgxcsbx")
public suspend fun expectedDataSizeInTeraBytes(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.expectedDataSizeInTeraBytes = mapped
}
/**
* @param value Indicates the type of job details.
* Expected value is 'DataBoxDisk'.
*/
@JvmName("rbhxgaqpcqqeeddp")
public suspend fun jobDetailsType(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.jobDetailsType = mapped
}
/**
* @param value Details about which key encryption type is being used.
*/
@JvmName("eklildsjhsusfckf")
public suspend fun keyEncryptionKey(`value`: KeyEncryptionKeyArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.keyEncryptionKey = mapped
}
/**
* @param argument Details about which key encryption type is being used.
*/
@JvmName("rsiulcjtoxkgfjuo")
public suspend fun keyEncryptionKey(argument: suspend KeyEncryptionKeyArgsBuilder.() -> Unit) {
val toBeMapped = KeyEncryptionKeyArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.keyEncryptionKey = mapped
}
/**
* @param value User entered passkey for DataBox Disk job.
*/
@JvmName("gbeynfixlehwbfxk")
public suspend fun passkey(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.passkey = mapped
}
/**
* @param value Preferences for the order.
*/
@JvmName("pgmbnfydyjqcgaaq")
public suspend fun preferences(`value`: PreferencesArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.preferences = mapped
}
/**
* @param argument Preferences for the order.
*/
@JvmName("etjxgqkhyixrbrin")
public suspend fun preferences(argument: suspend PreferencesArgsBuilder.() -> Unit) {
val toBeMapped = PreferencesArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.preferences = mapped
}
/**
* @param value User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.
*/
@JvmName("hhnnucnfsciarbnh")
public suspend fun preferredDisks(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.preferredDisks = mapped
}
/**
* @param values User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.
*/
@JvmName("qkahfceyweprkumh")
public fun preferredDisks(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.preferredDisks = mapped
}
/**
* @param value Optional Reverse Shipping details for order.
*/
@JvmName("ipirbbyxhxnkbakt")
public suspend fun reverseShippingDetails(`value`: ReverseShippingDetailsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.reverseShippingDetails = mapped
}
/**
* @param argument Optional Reverse Shipping details for order.
*/
@JvmName("majddftetndlykac")
public suspend fun reverseShippingDetails(argument: suspend ReverseShippingDetailsArgsBuilder.() -> Unit) {
val toBeMapped = ReverseShippingDetailsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.reverseShippingDetails = mapped
}
/**
* @param value Shipping address of the customer.
*/
@JvmName("joqeqtsgcvexqxtt")
public suspend fun shippingAddress(`value`: ShippingAddressArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.shippingAddress = mapped
}
/**
* @param argument Shipping address of the customer.
*/
@JvmName("weqeworbtnyefwpb")
public suspend fun shippingAddress(argument: suspend ShippingAddressArgsBuilder.() -> Unit) {
val toBeMapped = ShippingAddressArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.shippingAddress = mapped
}
internal fun build(): DataBoxDiskJobDetailsArgs = DataBoxDiskJobDetailsArgs(
contactDetails = contactDetails ?: throw PulumiNullFieldException("contactDetails"),
dataExportDetails = dataExportDetails,
dataImportDetails = dataImportDetails,
expectedDataSizeInTeraBytes = expectedDataSizeInTeraBytes,
jobDetailsType = jobDetailsType ?: throw PulumiNullFieldException("jobDetailsType"),
keyEncryptionKey = keyEncryptionKey,
passkey = passkey,
preferences = preferences,
preferredDisks = preferredDisks,
reverseShippingDetails = reverseShippingDetails,
shippingAddress = shippingAddress,
)
}