
com.pulumi.azure.hpc.kotlin.CacheBlobNfsTargetArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.hpc.kotlin
import com.pulumi.azure.hpc.CacheBlobNfsTargetArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* Manages a Blob NFSv3 Target within a HPC Cache.
* > **NOTE:**: By request of the service team the provider no longer automatically registering the `Microsoft.StorageCache` Resource Provider for this resource. To register it you can run `az provider register --namespace 'Microsoft.StorageCache'`.
* > **NOTE:**: This resource depends on the NFSv3 enabled Storage Account, which has some prerequisites need to meet. Please checkout: .
* ## Import
* HPC Cache Blob NFS Targets can be imported using the `resource id`, e.g.
* ```sh
* $ pulumi import azure:hpc/cacheBlobNfsTarget:CacheBlobNfsTarget example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StorageCache/caches/cache1/storageTargets/target1
* ```
* @property accessPolicyName The name of the access policy applied to this target. Defaults to `default`.
* @property cacheName The name of the HPC Cache, which the HPC Cache Blob NFS Target will be added to. Changing this forces a new HPC Cache Blob NFS Target to be created.
* @property name The name which should be used for this HPC Cache Blob NFS Target. Changing this forces a new HPC Cache Blob NFS Target to be created.
* @property namespacePath The client-facing file path of the HPC Cache Blob NFS Target.
* @property resourceGroupName The name of the Resource Group where the HPC Cache Blob NFS Target should exist. Changing this forces a new HPC Cache Blob NFS Target to be created.
* @property storageContainerId The Resource Manager ID of the Storage Container used as the HPC Cache Blob NFS Target. Changing this forces a new resource to be created.
* > **Note:** This is the Resource Manager ID of the Storage Container, rather than the regular ID - and can be accessed on the `azure.storage.Container` Data Source/Resource as `resource_manager_id`.
* @property usageModel The type of usage of the HPC Cache Blob NFS Target. Possible values are: `READ_HEAVY_INFREQ`, `READ_HEAVY_CHECK_180`, `READ_ONLY`, `READ_WRITE`, `WRITE_WORKLOAD_15`, `WRITE_AROUND`, `WRITE_WORKLOAD_CHECK_30`, `WRITE_WORKLOAD_CHECK_60` and `WRITE_WORKLOAD_CLOUDWS`.
* @property verificationTimerInSeconds The amount of time the cache waits before it checks the back-end storage for file updates. Possible values are between `1` and `31536000`.
* @property writeBackTimerInSeconds The amount of time the cache waits after the last file change before it copies the changed file to back-end storage. Possible values are between `1` and `31536000`.
*/
public data class CacheBlobNfsTargetArgs(
public val accessPolicyName: Output? = null,
public val cacheName: Output? = null,
public val name: Output? = null,
public val namespacePath: Output? = null,
public val resourceGroupName: Output? = null,
public val storageContainerId: Output? = null,
public val usageModel: Output? = null,
public val verificationTimerInSeconds: Output? = null,
public val writeBackTimerInSeconds: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.hpc.CacheBlobNfsTargetArgs =
com.pulumi.azure.hpc.CacheBlobNfsTargetArgs.builder()
.accessPolicyName(accessPolicyName?.applyValue({ args0 -> args0 }))
.cacheName(cacheName?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.namespacePath(namespacePath?.applyValue({ args0 -> args0 }))
.resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
.storageContainerId(storageContainerId?.applyValue({ args0 -> args0 }))
.usageModel(usageModel?.applyValue({ args0 -> args0 }))
.verificationTimerInSeconds(verificationTimerInSeconds?.applyValue({ args0 -> args0 }))
.writeBackTimerInSeconds(writeBackTimerInSeconds?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [CacheBlobNfsTargetArgs].
*/
@PulumiTagMarker
public class CacheBlobNfsTargetArgsBuilder internal constructor() {
private var accessPolicyName: Output? = null
private var cacheName: Output? = null
private var name: Output? = null
private var namespacePath: Output? = null
private var resourceGroupName: Output? = null
private var storageContainerId: Output? = null
private var usageModel: Output? = null
private var verificationTimerInSeconds: Output? = null
private var writeBackTimerInSeconds: Output? = null
/**
* @param value The name of the access policy applied to this target. Defaults to `default`.
*/
@JvmName("ewyicexycuruqpmo")
public suspend fun accessPolicyName(`value`: Output) {
this.accessPolicyName = value
}
/**
* @param value The name of the HPC Cache, which the HPC Cache Blob NFS Target will be added to. Changing this forces a new HPC Cache Blob NFS Target to be created.
*/
@JvmName("qjixppajobqdvyxk")
public suspend fun cacheName(`value`: Output) {
this.cacheName = value
}
/**
* @param value The name which should be used for this HPC Cache Blob NFS Target. Changing this forces a new HPC Cache Blob NFS Target to be created.
*/
@JvmName("fsswydmhocyknolg")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value The client-facing file path of the HPC Cache Blob NFS Target.
*/
@JvmName("fecrypsuvfwvygho")
public suspend fun namespacePath(`value`: Output) {
this.namespacePath = value
}
/**
* @param value The name of the Resource Group where the HPC Cache Blob NFS Target should exist. Changing this forces a new HPC Cache Blob NFS Target to be created.
*/
@JvmName("bkdulvqqyiravmda")
public suspend fun resourceGroupName(`value`: Output) {
this.resourceGroupName = value
}
/**
* @param value The Resource Manager ID of the Storage Container used as the HPC Cache Blob NFS Target. Changing this forces a new resource to be created.
* > **Note:** This is the Resource Manager ID of the Storage Container, rather than the regular ID - and can be accessed on the `azure.storage.Container` Data Source/Resource as `resource_manager_id`.
*/
@JvmName("fpnvlygdbsmbmlgr")
public suspend fun storageContainerId(`value`: Output) {
this.storageContainerId = value
}
/**
* @param value The type of usage of the HPC Cache Blob NFS Target. Possible values are: `READ_HEAVY_INFREQ`, `READ_HEAVY_CHECK_180`, `READ_ONLY`, `READ_WRITE`, `WRITE_WORKLOAD_15`, `WRITE_AROUND`, `WRITE_WORKLOAD_CHECK_30`, `WRITE_WORKLOAD_CHECK_60` and `WRITE_WORKLOAD_CLOUDWS`.
*/
@JvmName("uuxfvqbiwrwkhsmf")
public suspend fun usageModel(`value`: Output) {
this.usageModel = value
}
/**
* @param value The amount of time the cache waits before it checks the back-end storage for file updates. Possible values are between `1` and `31536000`.
*/
@JvmName("lknqfhkguajncava")
public suspend fun verificationTimerInSeconds(`value`: Output) {
this.verificationTimerInSeconds = value
}
/**
* @param value The amount of time the cache waits after the last file change before it copies the changed file to back-end storage. Possible values are between `1` and `31536000`.
*/
@JvmName("bymrfvkbunuussex")
public suspend fun writeBackTimerInSeconds(`value`: Output) {
this.writeBackTimerInSeconds = value
}
/**
* @param value The name of the access policy applied to this target. Defaults to `default`.
*/
@JvmName("rbtbdokdrqcqjqrg")
public suspend fun accessPolicyName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.accessPolicyName = mapped
}
/**
* @param value The name of the HPC Cache, which the HPC Cache Blob NFS Target will be added to. Changing this forces a new HPC Cache Blob NFS Target to be created.
*/
@JvmName("uuwyasrukfvoneey")
public suspend fun cacheName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.cacheName = mapped
}
/**
* @param value The name which should be used for this HPC Cache Blob NFS Target. Changing this forces a new HPC Cache Blob NFS Target to be created.
*/
@JvmName("jnjpvccmrfvpibmm")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value The client-facing file path of the HPC Cache Blob NFS Target.
*/
@JvmName("tllgxkcifmpgnapm")
public suspend fun namespacePath(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.namespacePath = mapped
}
/**
* @param value The name of the Resource Group where the HPC Cache Blob NFS Target should exist. Changing this forces a new HPC Cache Blob NFS Target to be created.
*/
@JvmName("kmcgpisgetfuxjcr")
public suspend fun resourceGroupName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resourceGroupName = mapped
}
/**
* @param value The Resource Manager ID of the Storage Container used as the HPC Cache Blob NFS Target. Changing this forces a new resource to be created.
* > **Note:** This is the Resource Manager ID of the Storage Container, rather than the regular ID - and can be accessed on the `azure.storage.Container` Data Source/Resource as `resource_manager_id`.
*/
@JvmName("sdaxidvdbykslfnd")
public suspend fun storageContainerId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.storageContainerId = mapped
}
/**
* @param value The type of usage of the HPC Cache Blob NFS Target. Possible values are: `READ_HEAVY_INFREQ`, `READ_HEAVY_CHECK_180`, `READ_ONLY`, `READ_WRITE`, `WRITE_WORKLOAD_15`, `WRITE_AROUND`, `WRITE_WORKLOAD_CHECK_30`, `WRITE_WORKLOAD_CHECK_60` and `WRITE_WORKLOAD_CLOUDWS`.
*/
@JvmName("elfdxqkqoqxqpmkk")
public suspend fun usageModel(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.usageModel = mapped
}
/**
* @param value The amount of time the cache waits before it checks the back-end storage for file updates. Possible values are between `1` and `31536000`.
*/
@JvmName("dacfskskitutjbcg")
public suspend fun verificationTimerInSeconds(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.verificationTimerInSeconds = mapped
}
/**
* @param value The amount of time the cache waits after the last file change before it copies the changed file to back-end storage. Possible values are between `1` and `31536000`.
*/
@JvmName("tdnvffhfsrgvewjk")
public suspend fun writeBackTimerInSeconds(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.writeBackTimerInSeconds = mapped
}
internal fun build(): CacheBlobNfsTargetArgs = CacheBlobNfsTargetArgs(
accessPolicyName = accessPolicyName,
cacheName = cacheName,
name = name,
namespacePath = namespacePath,
resourceGroupName = resourceGroupName,
storageContainerId = storageContainerId,
usageModel = usageModel,
verificationTimerInSeconds = verificationTimerInSeconds,
writeBackTimerInSeconds = writeBackTimerInSeconds,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy