All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.netapp.kotlin.inputs.VolumeGroupSapHanaVolumeDataProtectionReplicationArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.netapp.kotlin.inputs

import com.pulumi.azure.netapp.inputs.VolumeGroupSapHanaVolumeDataProtectionReplicationArgs.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 kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property endpointType The endpoint type. Possible values are `dst` and `src`. Defaults to `dst`.
 * @property remoteVolumeLocation Location of the primary volume.
 * @property remoteVolumeResourceId Resource ID of the primary volume.
 * @property replicationFrequency eplication frequency. Possible values are `10minutes`, `daily` and `hourly`.
 */
public data class VolumeGroupSapHanaVolumeDataProtectionReplicationArgs(
    public val endpointType: Output? = null,
    public val remoteVolumeLocation: Output,
    public val remoteVolumeResourceId: Output,
    public val replicationFrequency: Output,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.netapp.inputs.VolumeGroupSapHanaVolumeDataProtectionReplicationArgs =
        com.pulumi.azure.netapp.inputs.VolumeGroupSapHanaVolumeDataProtectionReplicationArgs.builder()
            .endpointType(endpointType?.applyValue({ args0 -> args0 }))
            .remoteVolumeLocation(remoteVolumeLocation.applyValue({ args0 -> args0 }))
            .remoteVolumeResourceId(remoteVolumeResourceId.applyValue({ args0 -> args0 }))
            .replicationFrequency(replicationFrequency.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [VolumeGroupSapHanaVolumeDataProtectionReplicationArgs].
 */
@PulumiTagMarker
public class VolumeGroupSapHanaVolumeDataProtectionReplicationArgsBuilder internal constructor() {
    private var endpointType: Output? = null

    private var remoteVolumeLocation: Output? = null

    private var remoteVolumeResourceId: Output? = null

    private var replicationFrequency: Output? = null

    /**
     * @param value The endpoint type. Possible values are `dst` and `src`. Defaults to `dst`.
     */
    @JvmName("okybdbpjxgtovxek")
    public suspend fun endpointType(`value`: Output) {
        this.endpointType = value
    }

    /**
     * @param value Location of the primary volume.
     */
    @JvmName("qxwpcgpnapwrkllp")
    public suspend fun remoteVolumeLocation(`value`: Output) {
        this.remoteVolumeLocation = value
    }

    /**
     * @param value Resource ID of the primary volume.
     */
    @JvmName("ctsurnkfnnwobvpv")
    public suspend fun remoteVolumeResourceId(`value`: Output) {
        this.remoteVolumeResourceId = value
    }

    /**
     * @param value eplication frequency. Possible values are `10minutes`, `daily` and `hourly`.
     */
    @JvmName("ipjcfkkxqfaufhhe")
    public suspend fun replicationFrequency(`value`: Output) {
        this.replicationFrequency = value
    }

    /**
     * @param value The endpoint type. Possible values are `dst` and `src`. Defaults to `dst`.
     */
    @JvmName("xgododwfuwbigpei")
    public suspend fun endpointType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.endpointType = mapped
    }

    /**
     * @param value Location of the primary volume.
     */
    @JvmName("hxeojfiqyorhrqde")
    public suspend fun remoteVolumeLocation(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.remoteVolumeLocation = mapped
    }

    /**
     * @param value Resource ID of the primary volume.
     */
    @JvmName("bbupyyykavusrctx")
    public suspend fun remoteVolumeResourceId(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.remoteVolumeResourceId = mapped
    }

    /**
     * @param value eplication frequency. Possible values are `10minutes`, `daily` and `hourly`.
     */
    @JvmName("ltyxffbuydrcfome")
    public suspend fun replicationFrequency(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.replicationFrequency = mapped
    }

    internal fun build(): VolumeGroupSapHanaVolumeDataProtectionReplicationArgs =
        VolumeGroupSapHanaVolumeDataProtectionReplicationArgs(
            endpointType = endpointType,
            remoteVolumeLocation = remoteVolumeLocation ?: throw
                PulumiNullFieldException("remoteVolumeLocation"),
            remoteVolumeResourceId = remoteVolumeResourceId ?: throw
                PulumiNullFieldException("remoteVolumeResourceId"),
            replicationFrequency = replicationFrequency ?: throw
                PulumiNullFieldException("replicationFrequency"),
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy