Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.mobile.kotlin.inputs
import com.pulumi.azure.mobile.inputs.NetworkServicePccRuleServiceDataFlowTemplateArgs.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.collections.List
import kotlin.jvm.JvmName
/**
*
* @property direction Specifies the direction of this flow. Possible values are `Uplink`, `Downlink` and `Bidirectional`.
* @property name Specifies the name of the data flow template. This must be unique within the parent data flow policy rule. You must not use any of the following reserved strings - `default`, `requested` or `service`.
* @property ports The port(s) to which UEs will connect for this flow. You can specify zero or more ports or port ranges. If you specify one or more ports or port ranges then you must specify a value other than `ip` in the `protocol` field. If it is not specified then connections will be allowed on all ports. Port ranges must be specified as -. For example: [`8080`, `8082-8085`].
* @property protocols A list of the allowed protocol(s) for this flow. If you want this flow to be able to use any protocol within the internet protocol suite, use the value `ip`. If you only want to allow a selection of protocols, you must use the corresponding IANA Assigned Internet Protocol Number for each protocol, as described in https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml. For example, for UDP, you must use 17. If you use the value `ip` then you must leave the field `port` unspecified.
* @property remoteIpLists Specifies the remote IP address(es) to which UEs will connect for this flow. If you want to allow connections on any IP address, use the value `any`. Otherwise, you must provide each of the remote IP addresses to which the packet core instance will connect for this flow. You must provide each IP address in CIDR notation, including the netmask (for example, `192.0.2.54/24`).
*/
public data class NetworkServicePccRuleServiceDataFlowTemplateArgs(
public val direction: Output,
public val name: Output,
public val ports: Output>? = null,
public val protocols: Output>,
public val remoteIpLists: Output>,
) :
ConvertibleToJava {
override fun toJava():
com.pulumi.azure.mobile.inputs.NetworkServicePccRuleServiceDataFlowTemplateArgs =
com.pulumi.azure.mobile.inputs.NetworkServicePccRuleServiceDataFlowTemplateArgs.builder()
.direction(direction.applyValue({ args0 -> args0 }))
.name(name.applyValue({ args0 -> args0 }))
.ports(ports?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.protocols(protocols.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.remoteIpLists(remoteIpLists.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}
/**
* Builder for [NetworkServicePccRuleServiceDataFlowTemplateArgs].
*/
@PulumiTagMarker
public class NetworkServicePccRuleServiceDataFlowTemplateArgsBuilder internal constructor() {
private var direction: Output? = null
private var name: Output? = null
private var ports: Output>? = null
private var protocols: Output>? = null
private var remoteIpLists: Output>? = null
/**
* @param value Specifies the direction of this flow. Possible values are `Uplink`, `Downlink` and `Bidirectional`.
*/
@JvmName("xohuipbnwftyryrn")
public suspend fun direction(`value`: Output) {
this.direction = value
}
/**
* @param value Specifies the name of the data flow template. This must be unique within the parent data flow policy rule. You must not use any of the following reserved strings - `default`, `requested` or `service`.
*/
@JvmName("wryfdaefdnmiogfi")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value The port(s) to which UEs will connect for this flow. You can specify zero or more ports or port ranges. If you specify one or more ports or port ranges then you must specify a value other than `ip` in the `protocol` field. If it is not specified then connections will be allowed on all ports. Port ranges must be specified as -. For example: [`8080`, `8082-8085`].
*/
@JvmName("ytaudmrmxuqdqibg")
public suspend fun ports(`value`: Output>) {
this.ports = value
}
@JvmName("nujnpvodlonottby")
public suspend fun ports(vararg values: Output) {
this.ports = Output.all(values.asList())
}
/**
* @param values The port(s) to which UEs will connect for this flow. You can specify zero or more ports or port ranges. If you specify one or more ports or port ranges then you must specify a value other than `ip` in the `protocol` field. If it is not specified then connections will be allowed on all ports. Port ranges must be specified as -. For example: [`8080`, `8082-8085`].
*/
@JvmName("mgpdlvbpfstknnwu")
public suspend fun ports(values: List