com.pulumi.gcp.accesscontextmanager.kotlin.inputs.ServicePerimeterIngressPolicyIngressFromSourceArgs.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.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.accesscontextmanager.inputs.ServicePerimeterIngressPolicyIngressFromSourceArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property accessLevel An `AccessLevel` resource name that allow resources within the
* `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
* must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
* `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
* resources within the perimeter can only be accessed via Google Cloud calls
* with request origins within the perimeter.
* Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
* If * is specified, then all IngressSources will be allowed.
* @property resource A Google Cloud resource that is allowed to ingress the perimeter.
* Requests from these resources will be allowed to access perimeter data.
* Currently only projects are allowed. Format `projects/{project_number}`
* The project may be in any Google Cloud organization, not just the
* organization that the perimeter is defined in. `*` is not allowed, the case
* of allowing all Google Cloud resources only is not supported.
*/
public data class ServicePerimeterIngressPolicyIngressFromSourceArgs(
public val accessLevel: Output? = null,
public val resource: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.accesscontextmanager.inputs.ServicePerimeterIngressPolicyIngressFromSourceArgs =
com.pulumi.gcp.accesscontextmanager.inputs.ServicePerimeterIngressPolicyIngressFromSourceArgs.builder()
.accessLevel(accessLevel?.applyValue({ args0 -> args0 }))
.resource(resource?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ServicePerimeterIngressPolicyIngressFromSourceArgs].
*/
@PulumiTagMarker
public class ServicePerimeterIngressPolicyIngressFromSourceArgsBuilder internal constructor() {
private var accessLevel: Output? = null
private var resource: Output? = null
/**
* @param value An `AccessLevel` resource name that allow resources within the
* `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
* must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
* `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
* resources within the perimeter can only be accessed via Google Cloud calls
* with request origins within the perimeter.
* Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
* If * is specified, then all IngressSources will be allowed.
*/
@JvmName("cmwioksumrhyafei")
public suspend fun accessLevel(`value`: Output) {
this.accessLevel = value
}
/**
* @param value A Google Cloud resource that is allowed to ingress the perimeter.
* Requests from these resources will be allowed to access perimeter data.
* Currently only projects are allowed. Format `projects/{project_number}`
* The project may be in any Google Cloud organization, not just the
* organization that the perimeter is defined in. `*` is not allowed, the case
* of allowing all Google Cloud resources only is not supported.
*/
@JvmName("nvfpivhsreiiguew")
public suspend fun resource(`value`: Output) {
this.resource = value
}
/**
* @param value An `AccessLevel` resource name that allow resources within the
* `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
* must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
* `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
* resources within the perimeter can only be accessed via Google Cloud calls
* with request origins within the perimeter.
* Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
* If * is specified, then all IngressSources will be allowed.
*/
@JvmName("bwuyoxvlnqjtkoiq")
public suspend fun accessLevel(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.accessLevel = mapped
}
/**
* @param value A Google Cloud resource that is allowed to ingress the perimeter.
* Requests from these resources will be allowed to access perimeter data.
* Currently only projects are allowed. Format `projects/{project_number}`
* The project may be in any Google Cloud organization, not just the
* organization that the perimeter is defined in. `*` is not allowed, the case
* of allowing all Google Cloud resources only is not supported.
*/
@JvmName("gtfyaiixgimhgnog")
public suspend fun resource(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resource = mapped
}
internal fun build(): ServicePerimeterIngressPolicyIngressFromSourceArgs =
ServicePerimeterIngressPolicyIngressFromSourceArgs(
accessLevel = accessLevel,
resource = resource,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy