
com.pulumi.googlenative.accesscontextmanager.v1beta.kotlin.outputs.ConditionResponse.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-google-native-kotlin Show documentation
Show all versions of pulumi-google-native-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.
The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.googlenative.accesscontextmanager.v1beta.kotlin.outputs
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
* A condition necessary for an `AccessLevel` to be granted. The Condition is an AND over its fields. So a Condition is true if: 1) the request IP is from one of the listed subnetworks AND 2) the originating device complies with the listed device policy AND 3) all listed access levels are granted AND 4) the request was sent at a time allowed by the DateTimeRestriction.
* @property devicePolicy Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed.
* @property ipSubnetworks 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 The request must be made by one of the provided user or service accounts. Groups are not supported. Syntax: `user:{emailid}` `serviceAccount:{emailid}` If not specified, a request may come from any user.
* @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. Must be valid ISO 3166-1 alpha-2 codes.
* @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. Example: "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
*/
public data class ConditionResponse(
public val devicePolicy: DevicePolicyResponse,
public val ipSubnetworks: List,
public val members: List,
public val negate: Boolean,
public val regions: List,
public val requiredAccessLevels: List,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.googlenative.accesscontextmanager.v1beta.outputs.ConditionResponse): ConditionResponse = ConditionResponse(
devicePolicy = javaType.devicePolicy().let({ args0 ->
com.pulumi.googlenative.accesscontextmanager.v1beta.kotlin.outputs.DevicePolicyResponse.Companion.toKotlin(args0)
}),
ipSubnetworks = javaType.ipSubnetworks().map({ args0 -> args0 }),
members = javaType.members().map({ args0 -> args0 }),
negate = javaType.negate(),
regions = javaType.regions().map({ args0 -> args0 }),
requiredAccessLevels = javaType.requiredAccessLevels().map({ args0 -> args0 }),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy