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.ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property identities 'A list of identities that are allowed access through this `EgressPolicy`.
* To specify an identity or identity group, use the IAM v1 format
* specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
* The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
* @property identityType Specifies the type of identities that are allowed access to outside the
* perimeter. If left unspecified, then members of `identities` field will
* be allowed access.
* Possible values are: `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
* @property sourceRestriction Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
* Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
* @property sources Sources that this EgressPolicy authorizes access from.
* Structure is documented below.
*/
public data class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs(
public val identities: Output>? = null,
public val identityType: Output? = null,
public val sourceRestriction: Output? = null,
public val sources: Output>? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.accesscontextmanager.inputs.ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs =
com.pulumi.gcp.accesscontextmanager.inputs.ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs.builder()
.identities(identities?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.identityType(identityType?.applyValue({ args0 -> args0 }))
.sourceRestriction(sourceRestriction?.applyValue({ args0 -> args0 }))
.sources(
sources?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs].
*/
@PulumiTagMarker
public class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgsBuilder internal constructor() {
private var identities: Output>? = null
private var identityType: Output? = null
private var sourceRestriction: Output? = null
private var sources:
Output>? = null
/**
* @param value 'A list of identities that are allowed access through this `EgressPolicy`.
* To specify an identity or identity group, use the IAM v1 format
* specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
* The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
*/
@JvmName("ovcofsseeoyiaxxu")
public suspend fun identities(`value`: Output>) {
this.identities = value
}
@JvmName("cpvpqxfohoaklosw")
public suspend fun identities(vararg values: Output) {
this.identities = Output.all(values.asList())
}
/**
* @param values 'A list of identities that are allowed access through this `EgressPolicy`.
* To specify an identity or identity group, use the IAM v1 format
* specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
* The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
*/
@JvmName("lqkynwbtlpiohrqd")
public suspend fun identities(values: List