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.gcp.accesscontextmanager.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.accesscontextmanager.inputs.AccessLevelBasicConditionArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property devicePolicy Device specific restrictions, all restrictions must hold for
* the Condition to be true. If not specified, all devices are
* allowed.
* Structure is documented below.
* @property ipSubnetworks A list of CIDR block IP subnetwork specification. May be IPv4
* or IPv6.
* Note that for a CIDR IP address block, the specified IP address
* portion must be properly truncated (i.e. all the host bits must
* be zero) or the input is considered malformed. For example,
* "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
* for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
* is not. The originating IP of a request must be in one of the
* listed subnets in order for this Condition to be true.
* If empty, all IP addresses are allowed.
* @property members An allowed list of members (users, service accounts).
* Using groups is not supported yet.
* The signed-in user originating the request must be a part of one
* of the provided members. If not specified, a request may come
* from any user (logged in/not logged in, not present in any
* groups, etc.).
* Formats: `user:{emailid}`, `serviceAccount:{emailid}`
* @property negate Whether to negate the Condition. If true, the Condition becomes
* a NAND over its non-empty fields, each field must be false for
* the Condition overall to be satisfied. Defaults to false.
* @property regions The request must originate from one of the provided
* countries/regions.
* Format: A valid ISO 3166-1 alpha-2 code.
* @property requiredAccessLevels A list of other access levels defined in the same Policy,
* referenced by resource name. Referencing an AccessLevel which
* does not exist is an error. All access levels listed must be
* granted for the Condition to be true.
* Format: accessPolicies/{policy_id}/accessLevels/{short_name}
* @property vpcNetworkSources The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ip_subnetworks`.
* Structure is documented below.
*/
public data class AccessLevelBasicConditionArgs(
public val devicePolicy: Output? = null,
public val ipSubnetworks: Output>? = null,
public val members: Output>? = null,
public val negate: Output? = null,
public val regions: Output>? = null,
public val requiredAccessLevels: Output>? = null,
public val vpcNetworkSources: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.accesscontextmanager.inputs.AccessLevelBasicConditionArgs =
com.pulumi.gcp.accesscontextmanager.inputs.AccessLevelBasicConditionArgs.builder()
.devicePolicy(devicePolicy?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.ipSubnetworks(ipSubnetworks?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.members(members?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.negate(negate?.applyValue({ args0 -> args0 }))
.regions(regions?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.requiredAccessLevels(requiredAccessLevels?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.vpcNetworkSources(
vpcNetworkSources?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [AccessLevelBasicConditionArgs].
*/
@PulumiTagMarker
public class AccessLevelBasicConditionArgsBuilder internal constructor() {
private var devicePolicy: Output? = null
private var ipSubnetworks: Output>? = null
private var members: Output>? = null
private var negate: Output? = null
private var regions: Output>? = null
private var requiredAccessLevels: Output>? = null
private var vpcNetworkSources: Output>? = null
/**
* @param value Device specific restrictions, all restrictions must hold for
* the Condition to be true. If not specified, all devices are
* allowed.
* Structure is documented below.
*/
@JvmName("cpgvncygshdkcndb")
public suspend fun devicePolicy(`value`: Output) {
this.devicePolicy = value
}
/**
* @param value A list of CIDR block IP subnetwork specification. May be IPv4
* or IPv6.
* Note that for a CIDR IP address block, the specified IP address
* portion must be properly truncated (i.e. all the host bits must
* be zero) or the input is considered malformed. For example,
* "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
* for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
* is not. The originating IP of a request must be in one of the
* listed subnets in order for this Condition to be true.
* If empty, all IP addresses are allowed.
*/
@JvmName("koassbejrhavvfxy")
public suspend fun ipSubnetworks(`value`: Output>) {
this.ipSubnetworks = value
}
@JvmName("sthleucncerxqdtj")
public suspend fun ipSubnetworks(vararg values: Output) {
this.ipSubnetworks = Output.all(values.asList())
}
/**
* @param values A list of CIDR block IP subnetwork specification. May be IPv4
* or IPv6.
* Note that for a CIDR IP address block, the specified IP address
* portion must be properly truncated (i.e. all the host bits must
* be zero) or the input is considered malformed. For example,
* "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
* for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
* is not. The originating IP of a request must be in one of the
* listed subnets in order for this Condition to be true.
* If empty, all IP addresses are allowed.
*/
@JvmName("yjohudihdsfsfinu")
public suspend fun ipSubnetworks(values: List