
com.pulumi.azure.netapp.kotlin.outputs.VolumeGroupSapHanaVolume.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.netapp.kotlin.outputs
import kotlin.Boolean
import kotlin.Double
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
/**
*
* @property capacityPoolId The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
* @property dataProtectionReplication A `data_protection_replication` block as defined below. Changing this forces a new Application Volume Group to be created and data will be lost.
* @property dataProtectionSnapshotPolicy A `data_protection_snapshot_policy` block as defined below.
* @property exportPolicyRules One or more `export_policy_rule` blocks as defined below.
* @property id The ID of the Application Volume Group.
* @property mountIpAddresses
* @property name The name which should be used for this volume. Changing this forces a new Application Volume Group to be created and data will be lost.
* @property protocols The target volume protocol expressed as a list. Changing this forces a new Application Volume Group to be created and data will be lost. Supported values for Application Volume Group include `NFSv3` or `NFSv4.1`, multi-protocol is not supported and there are certain rules on which protocol is supporteed per volume spec, please check [Configure application volume groups for the SAP HANA REST API](https://learn.microsoft.com/en-us/azure/azure-netapp-files/configure-application-volume-group-sap-hana-api) document for details.
* @property proximityPlacementGroupId The ID of the proximity placement group. Changing this forces a new Application Volume Group to be created and data will be lost. For SAP-HANA application, it is required to have PPG enabled so Azure NetApp Files can pin the volumes next to your compute resources, please check [Requirements and considerations for application volume group for SAP HANA](https://learn.microsoft.com/en-us/azure/azure-netapp-files/application-volume-group-considerations) for details and other requirements.
* @property securityStyle Volume security style. Possible values are `ntfs` and `unix`. Changing this forces a new Application Volume Group to be created and data will be lost.
* @property serviceLevel Volume security style. Possible values are `Premium`, `Standard` and `Ultra`. Changing this forces a new Application Volume Group to be created and data will be lost.
* @property snapshotDirectoryVisible Specifies whether the .snapshot (NFS clients) path of a volume is visible. Changing this forces a new Application Volume Group to be created and data will be lost.
* @property storageQuotaInGb The maximum Storage Quota allowed for a file system in Gigabytes.
* @property subnetId The ID of the Subnet the NetApp Volume resides in, which must have the `Microsoft.NetApp/volumes` delegation. Changing this forces a new Application Volume Group to be created and data will be lost.
* @property tags A mapping of tags which should be assigned to the Application Volume Group.
* @property throughputInMibps Throughput of this volume in Mibps.
* @property volumePath A unique file path for the volume. Changing this forces a new Application Volume Group to be created and data will be lost.
* @property volumeSpecName Volume specification name. Possible values are `data`, `log`, `shared`, `data-backup` and `log-backup`. Changing this forces a new Application Volume Group to be created and data will be lost.
*/
public data class VolumeGroupSapHanaVolume(
public val capacityPoolId: String,
public val dataProtectionReplication: VolumeGroupSapHanaVolumeDataProtectionReplication? = null,
public val dataProtectionSnapshotPolicy: VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy? =
null,
public val exportPolicyRules: List,
public val id: String? = null,
public val mountIpAddresses: List? = null,
public val name: String,
public val protocols: String,
public val proximityPlacementGroupId: String? = null,
public val securityStyle: String,
public val serviceLevel: String,
public val snapshotDirectoryVisible: Boolean,
public val storageQuotaInGb: Int,
public val subnetId: String,
public val tags: Map? = null,
public val throughputInMibps: Double,
public val volumePath: String,
public val volumeSpecName: String,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.azure.netapp.outputs.VolumeGroupSapHanaVolume):
VolumeGroupSapHanaVolume = VolumeGroupSapHanaVolume(
capacityPoolId = javaType.capacityPoolId(),
dataProtectionReplication = javaType.dataProtectionReplication().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azure.netapp.kotlin.outputs.VolumeGroupSapHanaVolumeDataProtectionReplication.Companion.toKotlin(args0)
})
}).orElse(null),
dataProtectionSnapshotPolicy = javaType.dataProtectionSnapshotPolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azure.netapp.kotlin.outputs.VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy.Companion.toKotlin(args0)
})
}).orElse(null),
exportPolicyRules = javaType.exportPolicyRules().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azure.netapp.kotlin.outputs.VolumeGroupSapHanaVolumeExportPolicyRule.Companion.toKotlin(args0)
})
}),
id = javaType.id().map({ args0 -> args0 }).orElse(null),
mountIpAddresses = javaType.mountIpAddresses().map({ args0 -> args0 }),
name = javaType.name(),
protocols = javaType.protocols(),
proximityPlacementGroupId = javaType.proximityPlacementGroupId().map({ args0 ->
args0
}).orElse(null),
securityStyle = javaType.securityStyle(),
serviceLevel = javaType.serviceLevel(),
snapshotDirectoryVisible = javaType.snapshotDirectoryVisible(),
storageQuotaInGb = javaType.storageQuotaInGb(),
subnetId = javaType.subnetId(),
tags = javaType.tags().map({ args0 -> args0.key.to(args0.value) }).toMap(),
throughputInMibps = javaType.throughputInMibps(),
volumePath = javaType.volumePath(),
volumeSpecName = javaType.volumeSpecName(),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy