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.azurenative.servicefabric.kotlin.inputs
import com.pulumi.azurenative.servicefabric.inputs.NetworkSecurityRuleArgs.builder
import com.pulumi.azurenative.servicefabric.kotlin.enums.Access
import com.pulumi.azurenative.servicefabric.kotlin.enums.Direction
import com.pulumi.azurenative.servicefabric.kotlin.enums.NsgProtocol
import com.pulumi.core.Either
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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Describes a network security rule.
* @property access The network traffic is allowed or denied.
* @property description Network security rule description.
* @property destinationAddressPrefix The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used.
* @property destinationAddressPrefixes The destination address prefixes. CIDR or destination IP ranges.
* @property destinationPortRange he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
* @property destinationPortRanges The destination port ranges.
* @property direction Network security rule direction.
* @property name Network security rule name.
* @property priority The priority of the rule. The value can be in the range 1000 to 3000. Values outside this range are reserved for Service Fabric ManagerCluster Resource Provider. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.
* @property protocol Network protocol this rule applies to.
* @property sourceAddressPrefix The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from.
* @property sourceAddressPrefixes The CIDR or source IP ranges.
* @property sourcePortRange The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
* @property sourcePortRanges The source port ranges.
*/
public data class NetworkSecurityRuleArgs(
public val access: Output>,
public val description: Output? = null,
public val destinationAddressPrefix: Output? = null,
public val destinationAddressPrefixes: Output>? = null,
public val destinationPortRange: Output? = null,
public val destinationPortRanges: Output>? = null,
public val direction: Output>,
public val name: Output,
public val priority: Output,
public val protocol: Output>,
public val sourceAddressPrefix: Output? = null,
public val sourceAddressPrefixes: Output>? = null,
public val sourcePortRange: Output? = null,
public val sourcePortRanges: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.servicefabric.inputs.NetworkSecurityRuleArgs =
com.pulumi.azurenative.servicefabric.inputs.NetworkSecurityRuleArgs.builder()
.access(
access.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.description(description?.applyValue({ args0 -> args0 }))
.destinationAddressPrefix(destinationAddressPrefix?.applyValue({ args0 -> args0 }))
.destinationAddressPrefixes(
destinationAddressPrefixes?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.destinationPortRange(destinationPortRange?.applyValue({ args0 -> args0 }))
.destinationPortRanges(destinationPortRanges?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.direction(
direction.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.name(name.applyValue({ args0 -> args0 }))
.priority(priority.applyValue({ args0 -> args0 }))
.protocol(
protocol.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.sourceAddressPrefix(sourceAddressPrefix?.applyValue({ args0 -> args0 }))
.sourceAddressPrefixes(sourceAddressPrefixes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.sourcePortRange(sourcePortRange?.applyValue({ args0 -> args0 }))
.sourcePortRanges(sourcePortRanges?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}
/**
* Builder for [NetworkSecurityRuleArgs].
*/
@PulumiTagMarker
public class NetworkSecurityRuleArgsBuilder internal constructor() {
private var access: Output>? = null
private var description: Output? = null
private var destinationAddressPrefix: Output? = null
private var destinationAddressPrefixes: Output>? = null
private var destinationPortRange: Output? = null
private var destinationPortRanges: Output>? = null
private var direction: Output>? = null
private var name: Output? = null
private var priority: Output? = null
private var protocol: Output>? = null
private var sourceAddressPrefix: Output? = null
private var sourceAddressPrefixes: Output>? = null
private var sourcePortRange: Output? = null
private var sourcePortRanges: Output>? = null
/**
* @param value The network traffic is allowed or denied.
*/
@JvmName("hqikvfbytdgvpkvw")
public suspend fun access(`value`: Output>) {
this.access = value
}
/**
* @param value Network security rule description.
*/
@JvmName("gefrxkjqwwsbwqrr")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used.
*/
@JvmName("jblqwtsrlycfqoha")
public suspend fun destinationAddressPrefix(`value`: Output) {
this.destinationAddressPrefix = value
}
/**
* @param value The destination address prefixes. CIDR or destination IP ranges.
*/
@JvmName("ntfjidwvbctxglsj")
public suspend fun destinationAddressPrefixes(`value`: Output>) {
this.destinationAddressPrefixes = value
}
@JvmName("rftjolvyrkopxbfd")
public suspend fun destinationAddressPrefixes(vararg values: Output) {
this.destinationAddressPrefixes = Output.all(values.asList())
}
/**
* @param values The destination address prefixes. CIDR or destination IP ranges.
*/
@JvmName("skxawsskuywcfwkc")
public suspend fun destinationAddressPrefixes(values: List