
com.pulumi.gcp.accesscontextmanager.kotlin.inputs.ServicePerimeterIngressPolicyIngressFromSourceArgs.kt Maven / Gradle / Ivy
@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 and VPCs are allowed.
* Project format: `projects/{projectNumber}`
* VPC network format:
* `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`.
* 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("wysnmoceeohyiuyg")
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 and VPCs are allowed.
* Project format: `projects/{projectNumber}`
* VPC network format:
* `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`.
* 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("tfrraeqqthqbwtos")
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("ticskvummhivgpej")
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 and VPCs are allowed.
* Project format: `projects/{projectNumber}`
* VPC network format:
* `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`.
* 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("kjldloddtnunayal")
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