com.pulumi.gcp.accesscontextmanager.kotlin.outputs.AccessLevelsAccessLevelBasicCondition.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
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.outputs
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
*
* @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 AccessLevelsAccessLevelBasicCondition(
public val devicePolicy: AccessLevelsAccessLevelBasicConditionDevicePolicy? = null,
public val ipSubnetworks: List? = null,
public val members: List? = null,
public val negate: Boolean? = null,
public val regions: List? = null,
public val requiredAccessLevels: List? = null,
public val vpcNetworkSources: List? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.accesscontextmanager.outputs.AccessLevelsAccessLevelBasicCondition): AccessLevelsAccessLevelBasicCondition = AccessLevelsAccessLevelBasicCondition(
devicePolicy = javaType.devicePolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.accesscontextmanager.kotlin.outputs.AccessLevelsAccessLevelBasicConditionDevicePolicy.Companion.toKotlin(args0)
})
}).orElse(null),
ipSubnetworks = javaType.ipSubnetworks().map({ args0 -> args0 }),
members = javaType.members().map({ args0 -> args0 }),
negate = javaType.negate().map({ args0 -> args0 }).orElse(null),
regions = javaType.regions().map({ args0 -> args0 }),
requiredAccessLevels = javaType.requiredAccessLevels().map({ args0 -> args0 }),
vpcNetworkSources = javaType.vpcNetworkSources().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.accesscontextmanager.kotlin.outputs.AccessLevelsAccessLevelBasicConditionVpcNetworkSource.Companion.toKotlin(args0)
})
}),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy