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

com.pulumi.azure.orbital.kotlin.inputs.ContactProfileLinkChannelArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.orbital.kotlin.inputs

import com.pulumi.azure.orbital.inputs.ContactProfileLinkChannelArgs.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.Double
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property bandwidthMhz Bandwidth in MHz.
 * @property centerFrequencyMhz Center frequency in MHz.
 * @property demodulationConfiguration Copy of the modem configuration file such as Kratos QRadio or Kratos QuantumRx. Only valid for downlink directions. If provided, the modem connects to the customer endpoint and sends demodulated data instead of a VITA.49 stream.
 * @property endPoints Customer End point to store/retrieve data during a contact. An `end_point` block as defined below.
 * @property modulationConfiguration Copy of the modem configuration file such as Kratos QRadio. Only valid for uplink directions. If provided, the modem connects to the customer endpoint and accepts commands from the customer instead of a VITA.49 stream.
 * @property name Name of the channel.
 */
public data class ContactProfileLinkChannelArgs(
    public val bandwidthMhz: Output,
    public val centerFrequencyMhz: Output,
    public val demodulationConfiguration: Output? = null,
    public val endPoints: Output>,
    public val modulationConfiguration: Output? = null,
    public val name: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.orbital.inputs.ContactProfileLinkChannelArgs =
        com.pulumi.azure.orbital.inputs.ContactProfileLinkChannelArgs.builder()
            .bandwidthMhz(bandwidthMhz.applyValue({ args0 -> args0 }))
            .centerFrequencyMhz(centerFrequencyMhz.applyValue({ args0 -> args0 }))
            .demodulationConfiguration(demodulationConfiguration?.applyValue({ args0 -> args0 }))
            .endPoints(
                endPoints.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .modulationConfiguration(modulationConfiguration?.applyValue({ args0 -> args0 }))
            .name(name.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ContactProfileLinkChannelArgs].
 */
@PulumiTagMarker
public class ContactProfileLinkChannelArgsBuilder internal constructor() {
    private var bandwidthMhz: Output? = null

    private var centerFrequencyMhz: Output? = null

    private var demodulationConfiguration: Output? = null

    private var endPoints: Output>? = null

    private var modulationConfiguration: Output? = null

    private var name: Output? = null

    /**
     * @param value Bandwidth in MHz.
     */
    @JvmName("uvafnbkubhhwptax")
    public suspend fun bandwidthMhz(`value`: Output) {
        this.bandwidthMhz = value
    }

    /**
     * @param value Center frequency in MHz.
     */
    @JvmName("jtrveeokiuhpalpa")
    public suspend fun centerFrequencyMhz(`value`: Output) {
        this.centerFrequencyMhz = value
    }

    /**
     * @param value Copy of the modem configuration file such as Kratos QRadio or Kratos QuantumRx. Only valid for downlink directions. If provided, the modem connects to the customer endpoint and sends demodulated data instead of a VITA.49 stream.
     */
    @JvmName("stkgonsujlxquvbc")
    public suspend fun demodulationConfiguration(`value`: Output) {
        this.demodulationConfiguration = value
    }

    /**
     * @param value Customer End point to store/retrieve data during a contact. An `end_point` block as defined below.
     */
    @JvmName("vasmujgbnxvffopc")
    public suspend fun endPoints(`value`: Output>) {
        this.endPoints = value
    }

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

    /**
     * @param values Customer End point to store/retrieve data during a contact. An `end_point` block as defined below.
     */
    @JvmName("modtvsprrjbqlkls")
    public suspend fun endPoints(values: List>) {
        this.endPoints = Output.all(values)
    }

    /**
     * @param value Copy of the modem configuration file such as Kratos QRadio. Only valid for uplink directions. If provided, the modem connects to the customer endpoint and accepts commands from the customer instead of a VITA.49 stream.
     */
    @JvmName("fewojpudiumngyaf")
    public suspend fun modulationConfiguration(`value`: Output) {
        this.modulationConfiguration = value
    }

    /**
     * @param value Name of the channel.
     */
    @JvmName("ofxxkhueeojqseqt")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Bandwidth in MHz.
     */
    @JvmName("nqypduukwyfmfwjc")
    public suspend fun bandwidthMhz(`value`: Double) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.bandwidthMhz = mapped
    }

    /**
     * @param value Center frequency in MHz.
     */
    @JvmName("vtyhimjwaenxqvrp")
    public suspend fun centerFrequencyMhz(`value`: Double) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.centerFrequencyMhz = mapped
    }

    /**
     * @param value Copy of the modem configuration file such as Kratos QRadio or Kratos QuantumRx. Only valid for downlink directions. If provided, the modem connects to the customer endpoint and sends demodulated data instead of a VITA.49 stream.
     */
    @JvmName("grlfxfntqnueqbye")
    public suspend fun demodulationConfiguration(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.demodulationConfiguration = mapped
    }

    /**
     * @param value Customer End point to store/retrieve data during a contact. An `end_point` block as defined below.
     */
    @JvmName("lewknaeeamqbhujp")
    public suspend fun endPoints(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.endPoints = mapped
    }

    /**
     * @param argument Customer End point to store/retrieve data during a contact. An `end_point` block as defined below.
     */
    @JvmName("sfekahgbkbmtelta")
    public suspend
    fun endPoints(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ContactProfileLinkChannelEndPointArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.endPoints = mapped
    }

    /**
     * @param argument Customer End point to store/retrieve data during a contact. An `end_point` block as defined below.
     */
    @JvmName("kxrpbidhddethhsp")
    public suspend fun endPoints(
        vararg
        argument: suspend ContactProfileLinkChannelEndPointArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            ContactProfileLinkChannelEndPointArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.endPoints = mapped
    }

    /**
     * @param argument Customer End point to store/retrieve data during a contact. An `end_point` block as defined below.
     */
    @JvmName("ulrhtgsoafglnsvp")
    public suspend
    fun endPoints(argument: suspend ContactProfileLinkChannelEndPointArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ContactProfileLinkChannelEndPointArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.endPoints = mapped
    }

    /**
     * @param values Customer End point to store/retrieve data during a contact. An `end_point` block as defined below.
     */
    @JvmName("gdksgumvycmcprtn")
    public suspend fun endPoints(vararg values: ContactProfileLinkChannelEndPointArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.endPoints = mapped
    }

    /**
     * @param value Copy of the modem configuration file such as Kratos QRadio. Only valid for uplink directions. If provided, the modem connects to the customer endpoint and accepts commands from the customer instead of a VITA.49 stream.
     */
    @JvmName("mbnxehlqddwhneio")
    public suspend fun modulationConfiguration(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.modulationConfiguration = mapped
    }

    /**
     * @param value Name of the channel.
     */
    @JvmName("vanjrmvjyhbnefyy")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    internal fun build(): ContactProfileLinkChannelArgs = ContactProfileLinkChannelArgs(
        bandwidthMhz = bandwidthMhz ?: throw PulumiNullFieldException("bandwidthMhz"),
        centerFrequencyMhz = centerFrequencyMhz ?: throw PulumiNullFieldException("centerFrequencyMhz"),
        demodulationConfiguration = demodulationConfiguration,
        endPoints = endPoints ?: throw PulumiNullFieldException("endPoints"),
        modulationConfiguration = modulationConfiguration,
        name = name ?: throw PulumiNullFieldException("name"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy