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

com.pulumi.gcp.oracledatabase.kotlin.inputs.CloudExadataInfrastructurePropertiesArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.gcp.oracledatabase.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.oracledatabase.inputs.CloudExadataInfrastructurePropertiesArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Double
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property activatedStorageCount (Output)
 * The requested number of additional storage servers activated for the
 * Exadata Infrastructure.
 * @property additionalStorageCount (Output)
 * The requested number of additional storage servers for the Exadata
 * Infrastructure.
 * @property availableStorageSizeGb (Output)
 * The available storage can be allocated to the Exadata Infrastructure
 * resource, in gigabytes (GB).
 * @property computeCount The number of compute servers for the Exadata Infrastructure.
 * @property cpuCount (Output)
 * The number of enabled CPU cores.
 * @property customerContacts The list of customer contacts.
 * Structure is documented below.
 * @property dataStorageSizeTb (Output)
 * Size, in terabytes, of the DATA disk group.
 * @property dbNodeStorageSizeGb (Output)
 * The local node storage allocated in GBs.
 * @property dbServerVersion (Output)
 * The software version of the database servers (dom0) in the Exadata
 * Infrastructure.
 * @property maintenanceWindow Maintenance window as defined by Oracle.
 * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/MaintenanceWindow
 * Structure is documented below.
 * @property maxCpuCount (Output)
 * The total number of CPU cores available.
 * @property maxDataStorageTb (Output)
 * The total available DATA disk group size.
 * @property maxDbNodeStorageSizeGb (Output)
 * The total local node storage available in GBs.
 * @property maxMemoryGb (Output)
 * The total memory available in GBs.
 * @property memorySizeGb (Output)
 * The memory allocated in GBs.
 * @property monthlyDbServerVersion (Output)
 * The monthly software version of the database servers (dom0)
 * in the Exadata Infrastructure. Example: 20.1.15
 * @property monthlyStorageServerVersion (Output)
 * The monthly software version of the storage servers (cells)
 * in the Exadata Infrastructure. Example: 20.1.15
 * @property nextMaintenanceRunId (Output)
 * The OCID of the next maintenance run.
 * @property nextMaintenanceRunTime (Output)
 * The time when the next maintenance run will occur.
 * @property nextSecurityMaintenanceRunTime (Output)
 * The time when the next security maintenance run will occur.
 * @property ociUrl (Output)
 * Deep link to the OCI console to view this resource.
 * @property ocid (Output)
 * OCID of created infra.
 * https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle
 * @property shape The shape of the Exadata Infrastructure. The shape determines the
 * amount of CPU, storage, and memory resources allocated to the instance.
 * @property state (Output)
 * The current lifecycle state of the Exadata Infrastructure.
 * Possible values:
 * STATE_UNSPECIFIED
 * PROVISIONING
 * AVAILABLE
 * UPDATING
 * TERMINATING
 * TERMINATED
 * FAILED
 * MAINTENANCE_IN_PROGRESS
 * @property storageCount The number of Cloud Exadata storage servers for the Exadata Infrastructure.
 * @property storageServerVersion (Output)
 * The software version of the storage servers (cells) in the Exadata
 * Infrastructure.
 * @property totalStorageSizeGb The total storage allocated to the Exadata Infrastructure
 * resource, in gigabytes (GB).
 */
public data class CloudExadataInfrastructurePropertiesArgs(
    public val activatedStorageCount: Output? = null,
    public val additionalStorageCount: Output? = null,
    public val availableStorageSizeGb: Output? = null,
    public val computeCount: Output? = null,
    public val cpuCount: Output? = null,
    public val customerContacts: Output>? = null,
    public val dataStorageSizeTb: Output? = null,
    public val dbNodeStorageSizeGb: Output? = null,
    public val dbServerVersion: Output? = null,
    public val maintenanceWindow: Output? =
        null,
    public val maxCpuCount: Output? = null,
    public val maxDataStorageTb: Output? = null,
    public val maxDbNodeStorageSizeGb: Output? = null,
    public val maxMemoryGb: Output? = null,
    public val memorySizeGb: Output? = null,
    public val monthlyDbServerVersion: Output? = null,
    public val monthlyStorageServerVersion: Output? = null,
    public val nextMaintenanceRunId: Output? = null,
    public val nextMaintenanceRunTime: Output? = null,
    public val nextSecurityMaintenanceRunTime: Output? = null,
    public val ociUrl: Output? = null,
    public val ocid: Output? = null,
    public val shape: Output,
    public val state: Output? = null,
    public val storageCount: Output? = null,
    public val storageServerVersion: Output? = null,
    public val totalStorageSizeGb: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.oracledatabase.inputs.CloudExadataInfrastructurePropertiesArgs =
        com.pulumi.gcp.oracledatabase.inputs.CloudExadataInfrastructurePropertiesArgs.builder()
            .activatedStorageCount(activatedStorageCount?.applyValue({ args0 -> args0 }))
            .additionalStorageCount(additionalStorageCount?.applyValue({ args0 -> args0 }))
            .availableStorageSizeGb(availableStorageSizeGb?.applyValue({ args0 -> args0 }))
            .computeCount(computeCount?.applyValue({ args0 -> args0 }))
            .cpuCount(cpuCount?.applyValue({ args0 -> args0 }))
            .customerContacts(
                customerContacts?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .dataStorageSizeTb(dataStorageSizeTb?.applyValue({ args0 -> args0 }))
            .dbNodeStorageSizeGb(dbNodeStorageSizeGb?.applyValue({ args0 -> args0 }))
            .dbServerVersion(dbServerVersion?.applyValue({ args0 -> args0 }))
            .maintenanceWindow(maintenanceWindow?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .maxCpuCount(maxCpuCount?.applyValue({ args0 -> args0 }))
            .maxDataStorageTb(maxDataStorageTb?.applyValue({ args0 -> args0 }))
            .maxDbNodeStorageSizeGb(maxDbNodeStorageSizeGb?.applyValue({ args0 -> args0 }))
            .maxMemoryGb(maxMemoryGb?.applyValue({ args0 -> args0 }))
            .memorySizeGb(memorySizeGb?.applyValue({ args0 -> args0 }))
            .monthlyDbServerVersion(monthlyDbServerVersion?.applyValue({ args0 -> args0 }))
            .monthlyStorageServerVersion(monthlyStorageServerVersion?.applyValue({ args0 -> args0 }))
            .nextMaintenanceRunId(nextMaintenanceRunId?.applyValue({ args0 -> args0 }))
            .nextMaintenanceRunTime(nextMaintenanceRunTime?.applyValue({ args0 -> args0 }))
            .nextSecurityMaintenanceRunTime(nextSecurityMaintenanceRunTime?.applyValue({ args0 -> args0 }))
            .ociUrl(ociUrl?.applyValue({ args0 -> args0 }))
            .ocid(ocid?.applyValue({ args0 -> args0 }))
            .shape(shape.applyValue({ args0 -> args0 }))
            .state(state?.applyValue({ args0 -> args0 }))
            .storageCount(storageCount?.applyValue({ args0 -> args0 }))
            .storageServerVersion(storageServerVersion?.applyValue({ args0 -> args0 }))
            .totalStorageSizeGb(totalStorageSizeGb?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [CloudExadataInfrastructurePropertiesArgs].
 */
@PulumiTagMarker
public class CloudExadataInfrastructurePropertiesArgsBuilder internal constructor() {
    private var activatedStorageCount: Output? = null

    private var additionalStorageCount: Output? = null

    private var availableStorageSizeGb: Output? = null

    private var computeCount: Output? = null

    private var cpuCount: Output? = null

    private var customerContacts:
        Output>? = null

    private var dataStorageSizeTb: Output? = null

    private var dbNodeStorageSizeGb: Output? = null

    private var dbServerVersion: Output? = null

    private var maintenanceWindow: Output? =
        null

    private var maxCpuCount: Output? = null

    private var maxDataStorageTb: Output? = null

    private var maxDbNodeStorageSizeGb: Output? = null

    private var maxMemoryGb: Output? = null

    private var memorySizeGb: Output? = null

    private var monthlyDbServerVersion: Output? = null

    private var monthlyStorageServerVersion: Output? = null

    private var nextMaintenanceRunId: Output? = null

    private var nextMaintenanceRunTime: Output? = null

    private var nextSecurityMaintenanceRunTime: Output? = null

    private var ociUrl: Output? = null

    private var ocid: Output? = null

    private var shape: Output? = null

    private var state: Output? = null

    private var storageCount: Output? = null

    private var storageServerVersion: Output? = null

    private var totalStorageSizeGb: Output? = null

    /**
     * @param value (Output)
     * The requested number of additional storage servers activated for the
     * Exadata Infrastructure.
     */
    @JvmName("gnplkghovelhdnjl")
    public suspend fun activatedStorageCount(`value`: Output) {
        this.activatedStorageCount = value
    }

    /**
     * @param value (Output)
     * The requested number of additional storage servers for the Exadata
     * Infrastructure.
     */
    @JvmName("fwoloschievsuaes")
    public suspend fun additionalStorageCount(`value`: Output) {
        this.additionalStorageCount = value
    }

    /**
     * @param value (Output)
     * The available storage can be allocated to the Exadata Infrastructure
     * resource, in gigabytes (GB).
     */
    @JvmName("xmiicggdsjmhhhea")
    public suspend fun availableStorageSizeGb(`value`: Output) {
        this.availableStorageSizeGb = value
    }

    /**
     * @param value The number of compute servers for the Exadata Infrastructure.
     */
    @JvmName("aftmopmpkhwfvdgi")
    public suspend fun computeCount(`value`: Output) {
        this.computeCount = value
    }

    /**
     * @param value (Output)
     * The number of enabled CPU cores.
     */
    @JvmName("ixvfduxvopmktyvn")
    public suspend fun cpuCount(`value`: Output) {
        this.cpuCount = value
    }

    /**
     * @param value The list of customer contacts.
     * Structure is documented below.
     */
    @JvmName("efrvpernbrwvlckk")
    public suspend fun customerContacts(`value`: Output>) {
        this.customerContacts = value
    }

    @JvmName("hfegkuncinyrmsvw")
    public suspend fun customerContacts(vararg values: Output) {
        this.customerContacts = Output.all(values.asList())
    }

    /**
     * @param values The list of customer contacts.
     * Structure is documented below.
     */
    @JvmName("arykresjydggucfy")
    public suspend fun customerContacts(values: List>) {
        this.customerContacts = Output.all(values)
    }

    /**
     * @param value (Output)
     * Size, in terabytes, of the DATA disk group.
     */
    @JvmName("jbdwqrhkssoaawjv")
    public suspend fun dataStorageSizeTb(`value`: Output) {
        this.dataStorageSizeTb = value
    }

    /**
     * @param value (Output)
     * The local node storage allocated in GBs.
     */
    @JvmName("igowgwawnlsadowr")
    public suspend fun dbNodeStorageSizeGb(`value`: Output) {
        this.dbNodeStorageSizeGb = value
    }

    /**
     * @param value (Output)
     * The software version of the database servers (dom0) in the Exadata
     * Infrastructure.
     */
    @JvmName("qgtfuiafnndcdrly")
    public suspend fun dbServerVersion(`value`: Output) {
        this.dbServerVersion = value
    }

    /**
     * @param value Maintenance window as defined by Oracle.
     * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/MaintenanceWindow
     * Structure is documented below.
     */
    @JvmName("vneykwxdisyrlguw")
    public suspend fun maintenanceWindow(`value`: Output) {
        this.maintenanceWindow = value
    }

    /**
     * @param value (Output)
     * The total number of CPU cores available.
     */
    @JvmName("cudvppgqrbevtfry")
    public suspend fun maxCpuCount(`value`: Output) {
        this.maxCpuCount = value
    }

    /**
     * @param value (Output)
     * The total available DATA disk group size.
     */
    @JvmName("wjfbkrtihkeapmoi")
    public suspend fun maxDataStorageTb(`value`: Output) {
        this.maxDataStorageTb = value
    }

    /**
     * @param value (Output)
     * The total local node storage available in GBs.
     */
    @JvmName("adomsagagwqhqphp")
    public suspend fun maxDbNodeStorageSizeGb(`value`: Output) {
        this.maxDbNodeStorageSizeGb = value
    }

    /**
     * @param value (Output)
     * The total memory available in GBs.
     */
    @JvmName("wixxpweumkjxdtfx")
    public suspend fun maxMemoryGb(`value`: Output) {
        this.maxMemoryGb = value
    }

    /**
     * @param value (Output)
     * The memory allocated in GBs.
     */
    @JvmName("cgqeugtrmyfaiqfi")
    public suspend fun memorySizeGb(`value`: Output) {
        this.memorySizeGb = value
    }

    /**
     * @param value (Output)
     * The monthly software version of the database servers (dom0)
     * in the Exadata Infrastructure. Example: 20.1.15
     */
    @JvmName("udnnycctyseecnbd")
    public suspend fun monthlyDbServerVersion(`value`: Output) {
        this.monthlyDbServerVersion = value
    }

    /**
     * @param value (Output)
     * The monthly software version of the storage servers (cells)
     * in the Exadata Infrastructure. Example: 20.1.15
     */
    @JvmName("kykmphlustfswxys")
    public suspend fun monthlyStorageServerVersion(`value`: Output) {
        this.monthlyStorageServerVersion = value
    }

    /**
     * @param value (Output)
     * The OCID of the next maintenance run.
     */
    @JvmName("htiawkbkeewismdd")
    public suspend fun nextMaintenanceRunId(`value`: Output) {
        this.nextMaintenanceRunId = value
    }

    /**
     * @param value (Output)
     * The time when the next maintenance run will occur.
     */
    @JvmName("wxynstanjoorrxdq")
    public suspend fun nextMaintenanceRunTime(`value`: Output) {
        this.nextMaintenanceRunTime = value
    }

    /**
     * @param value (Output)
     * The time when the next security maintenance run will occur.
     */
    @JvmName("agyhkfywgkwokvxx")
    public suspend fun nextSecurityMaintenanceRunTime(`value`: Output) {
        this.nextSecurityMaintenanceRunTime = value
    }

    /**
     * @param value (Output)
     * Deep link to the OCI console to view this resource.
     */
    @JvmName("jqoxyobqpwpnbrom")
    public suspend fun ociUrl(`value`: Output) {
        this.ociUrl = value
    }

    /**
     * @param value (Output)
     * OCID of created infra.
     * https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle
     */
    @JvmName("yoxgfrviucdolddh")
    public suspend fun ocid(`value`: Output) {
        this.ocid = value
    }

    /**
     * @param value The shape of the Exadata Infrastructure. The shape determines the
     * amount of CPU, storage, and memory resources allocated to the instance.
     */
    @JvmName("wrftypihhnwxpcku")
    public suspend fun shape(`value`: Output) {
        this.shape = value
    }

    /**
     * @param value (Output)
     * The current lifecycle state of the Exadata Infrastructure.
     * Possible values:
     * STATE_UNSPECIFIED
     * PROVISIONING
     * AVAILABLE
     * UPDATING
     * TERMINATING
     * TERMINATED
     * FAILED
     * MAINTENANCE_IN_PROGRESS
     */
    @JvmName("xsrldwarctffjfcr")
    public suspend fun state(`value`: Output) {
        this.state = value
    }

    /**
     * @param value The number of Cloud Exadata storage servers for the Exadata Infrastructure.
     */
    @JvmName("sksgeidcboablfim")
    public suspend fun storageCount(`value`: Output) {
        this.storageCount = value
    }

    /**
     * @param value (Output)
     * The software version of the storage servers (cells) in the Exadata
     * Infrastructure.
     */
    @JvmName("vcjmuwbvvwiikeoq")
    public suspend fun storageServerVersion(`value`: Output) {
        this.storageServerVersion = value
    }

    /**
     * @param value The total storage allocated to the Exadata Infrastructure
     * resource, in gigabytes (GB).
     */
    @JvmName("phibmphysfserxsl")
    public suspend fun totalStorageSizeGb(`value`: Output) {
        this.totalStorageSizeGb = value
    }

    /**
     * @param value (Output)
     * The requested number of additional storage servers activated for the
     * Exadata Infrastructure.
     */
    @JvmName("hbtebmyauveayxcr")
    public suspend fun activatedStorageCount(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.activatedStorageCount = mapped
    }

    /**
     * @param value (Output)
     * The requested number of additional storage servers for the Exadata
     * Infrastructure.
     */
    @JvmName("qbhqwggkccavkpoy")
    public suspend fun additionalStorageCount(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.additionalStorageCount = mapped
    }

    /**
     * @param value (Output)
     * The available storage can be allocated to the Exadata Infrastructure
     * resource, in gigabytes (GB).
     */
    @JvmName("rygfrgvollfhaapf")
    public suspend fun availableStorageSizeGb(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.availableStorageSizeGb = mapped
    }

    /**
     * @param value The number of compute servers for the Exadata Infrastructure.
     */
    @JvmName("buiskprrjsoagckf")
    public suspend fun computeCount(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.computeCount = mapped
    }

    /**
     * @param value (Output)
     * The number of enabled CPU cores.
     */
    @JvmName("hlaavmqmtqjhskyk")
    public suspend fun cpuCount(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cpuCount = mapped
    }

    /**
     * @param value The list of customer contacts.
     * Structure is documented below.
     */
    @JvmName("ivpmvsxqyepjocxq")
    public suspend fun customerContacts(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customerContacts = mapped
    }

    /**
     * @param argument The list of customer contacts.
     * Structure is documented below.
     */
    @JvmName("pgyahrqankguvjdt")
    public suspend fun customerContacts(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            CloudExadataInfrastructurePropertiesCustomerContactArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.customerContacts = mapped
    }

    /**
     * @param argument The list of customer contacts.
     * Structure is documented below.
     */
    @JvmName("dxlgdwnwvglfcire")
    public suspend fun customerContacts(vararg argument: suspend CloudExadataInfrastructurePropertiesCustomerContactArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            CloudExadataInfrastructurePropertiesCustomerContactArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.customerContacts = mapped
    }

    /**
     * @param argument The list of customer contacts.
     * Structure is documented below.
     */
    @JvmName("sxhtowuxpvxqnqad")
    public suspend fun customerContacts(argument: suspend CloudExadataInfrastructurePropertiesCustomerContactArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                CloudExadataInfrastructurePropertiesCustomerContactArgsBuilder().applySuspend {
                    argument()
                }.build(),
            )
        val mapped = of(toBeMapped)
        this.customerContacts = mapped
    }

    /**
     * @param values The list of customer contacts.
     * Structure is documented below.
     */
    @JvmName("mguifcmmtjlwehow")
    public suspend fun customerContacts(vararg values: CloudExadataInfrastructurePropertiesCustomerContactArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customerContacts = mapped
    }

    /**
     * @param value (Output)
     * Size, in terabytes, of the DATA disk group.
     */
    @JvmName("wneoohmkhuhmungr")
    public suspend fun dataStorageSizeTb(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataStorageSizeTb = mapped
    }

    /**
     * @param value (Output)
     * The local node storage allocated in GBs.
     */
    @JvmName("wqvxgpxsvnrshybg")
    public suspend fun dbNodeStorageSizeGb(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dbNodeStorageSizeGb = mapped
    }

    /**
     * @param value (Output)
     * The software version of the database servers (dom0) in the Exadata
     * Infrastructure.
     */
    @JvmName("fmftytlsbcqraemc")
    public suspend fun dbServerVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dbServerVersion = mapped
    }

    /**
     * @param value Maintenance window as defined by Oracle.
     * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/MaintenanceWindow
     * Structure is documented below.
     */
    @JvmName("iqyjdetxbqpqqpex")
    public suspend fun maintenanceWindow(`value`: CloudExadataInfrastructurePropertiesMaintenanceWindowArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maintenanceWindow = mapped
    }

    /**
     * @param argument Maintenance window as defined by Oracle.
     * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/MaintenanceWindow
     * Structure is documented below.
     */
    @JvmName("gjvyfxrwgqhndvki")
    public suspend fun maintenanceWindow(argument: suspend CloudExadataInfrastructurePropertiesMaintenanceWindowArgsBuilder.() -> Unit) {
        val toBeMapped =
            CloudExadataInfrastructurePropertiesMaintenanceWindowArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.maintenanceWindow = mapped
    }

    /**
     * @param value (Output)
     * The total number of CPU cores available.
     */
    @JvmName("jgqvtluenooyskim")
    public suspend fun maxCpuCount(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxCpuCount = mapped
    }

    /**
     * @param value (Output)
     * The total available DATA disk group size.
     */
    @JvmName("tyeubotojanpfytm")
    public suspend fun maxDataStorageTb(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxDataStorageTb = mapped
    }

    /**
     * @param value (Output)
     * The total local node storage available in GBs.
     */
    @JvmName("vnbjdnrcknsbvieh")
    public suspend fun maxDbNodeStorageSizeGb(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxDbNodeStorageSizeGb = mapped
    }

    /**
     * @param value (Output)
     * The total memory available in GBs.
     */
    @JvmName("xbhwklkhepxlfssh")
    public suspend fun maxMemoryGb(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxMemoryGb = mapped
    }

    /**
     * @param value (Output)
     * The memory allocated in GBs.
     */
    @JvmName("scafwdjbvnwhicpx")
    public suspend fun memorySizeGb(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.memorySizeGb = mapped
    }

    /**
     * @param value (Output)
     * The monthly software version of the database servers (dom0)
     * in the Exadata Infrastructure. Example: 20.1.15
     */
    @JvmName("pevudrayolvptmbt")
    public suspend fun monthlyDbServerVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.monthlyDbServerVersion = mapped
    }

    /**
     * @param value (Output)
     * The monthly software version of the storage servers (cells)
     * in the Exadata Infrastructure. Example: 20.1.15
     */
    @JvmName("hgfmaodjabxgfcnx")
    public suspend fun monthlyStorageServerVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.monthlyStorageServerVersion = mapped
    }

    /**
     * @param value (Output)
     * The OCID of the next maintenance run.
     */
    @JvmName("oxamwvxayercgtxl")
    public suspend fun nextMaintenanceRunId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.nextMaintenanceRunId = mapped
    }

    /**
     * @param value (Output)
     * The time when the next maintenance run will occur.
     */
    @JvmName("auseigyhpyfvsjlj")
    public suspend fun nextMaintenanceRunTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.nextMaintenanceRunTime = mapped
    }

    /**
     * @param value (Output)
     * The time when the next security maintenance run will occur.
     */
    @JvmName("vxpkwlopnewfhgqa")
    public suspend fun nextSecurityMaintenanceRunTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.nextSecurityMaintenanceRunTime = mapped
    }

    /**
     * @param value (Output)
     * Deep link to the OCI console to view this resource.
     */
    @JvmName("exnwxoxivclgadpr")
    public suspend fun ociUrl(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ociUrl = mapped
    }

    /**
     * @param value (Output)
     * OCID of created infra.
     * https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle
     */
    @JvmName("gqrgvavyvwdtmkop")
    public suspend fun ocid(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ocid = mapped
    }

    /**
     * @param value The shape of the Exadata Infrastructure. The shape determines the
     * amount of CPU, storage, and memory resources allocated to the instance.
     */
    @JvmName("kihxmjaxewidsske")
    public suspend fun shape(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.shape = mapped
    }

    /**
     * @param value (Output)
     * The current lifecycle state of the Exadata Infrastructure.
     * Possible values:
     * STATE_UNSPECIFIED
     * PROVISIONING
     * AVAILABLE
     * UPDATING
     * TERMINATING
     * TERMINATED
     * FAILED
     * MAINTENANCE_IN_PROGRESS
     */
    @JvmName("mclfxshqlfolwvoi")
    public suspend fun state(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.state = mapped
    }

    /**
     * @param value The number of Cloud Exadata storage servers for the Exadata Infrastructure.
     */
    @JvmName("fxwqiyjtgssswjtj")
    public suspend fun storageCount(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.storageCount = mapped
    }

    /**
     * @param value (Output)
     * The software version of the storage servers (cells) in the Exadata
     * Infrastructure.
     */
    @JvmName("wmjwrqdwndwokxwk")
    public suspend fun storageServerVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.storageServerVersion = mapped
    }

    /**
     * @param value The total storage allocated to the Exadata Infrastructure
     * resource, in gigabytes (GB).
     */
    @JvmName("fxqrljswsosxbpnv")
    public suspend fun totalStorageSizeGb(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.totalStorageSizeGb = mapped
    }

    internal fun build(): CloudExadataInfrastructurePropertiesArgs =
        CloudExadataInfrastructurePropertiesArgs(
            activatedStorageCount = activatedStorageCount,
            additionalStorageCount = additionalStorageCount,
            availableStorageSizeGb = availableStorageSizeGb,
            computeCount = computeCount,
            cpuCount = cpuCount,
            customerContacts = customerContacts,
            dataStorageSizeTb = dataStorageSizeTb,
            dbNodeStorageSizeGb = dbNodeStorageSizeGb,
            dbServerVersion = dbServerVersion,
            maintenanceWindow = maintenanceWindow,
            maxCpuCount = maxCpuCount,
            maxDataStorageTb = maxDataStorageTb,
            maxDbNodeStorageSizeGb = maxDbNodeStorageSizeGb,
            maxMemoryGb = maxMemoryGb,
            memorySizeGb = memorySizeGb,
            monthlyDbServerVersion = monthlyDbServerVersion,
            monthlyStorageServerVersion = monthlyStorageServerVersion,
            nextMaintenanceRunId = nextMaintenanceRunId,
            nextMaintenanceRunTime = nextMaintenanceRunTime,
            nextSecurityMaintenanceRunTime = nextSecurityMaintenanceRunTime,
            ociUrl = ociUrl,
            ocid = ocid,
            shape = shape ?: throw PulumiNullFieldException("shape"),
            state = state,
            storageCount = storageCount,
            storageServerVersion = storageServerVersion,
            totalStorageSizeGb = totalStorageSizeGb,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy