com.pulumi.gcp.accesscontextmanager.kotlin.outputs.ServicePerimeterStatus.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.String
import kotlin.Suppress
import kotlin.collections.List
/**
*
* @property accessLevels A list of AccessLevel resource names that allow resources within
* the ServicePerimeter to be accessed from the internet.
* AccessLevels listed must be in the same policy as this
* ServicePerimeter. Referencing a nonexistent AccessLevel is a
* syntax error. If no AccessLevel names are listed, resources within
* the perimeter can only be accessed via GCP calls with request
* origins within the perimeter. For Service Perimeter Bridge, must
* be empty.
* Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
* @property egressPolicies List of EgressPolicies to apply to the perimeter. A perimeter may
* have multiple EgressPolicies, each of which is evaluated separately.
* Access is granted if any EgressPolicy grants it. Must be empty for
* a perimeter bridge.
* Structure is documented below.
* @property ingressPolicies List of `IngressPolicies` to apply to the perimeter. A perimeter may
* have multiple `IngressPolicies`, each of which is evaluated
* separately. Access is granted if any `Ingress Policy` grants it.
* Must be empty for a perimeter bridge.
* Structure is documented below.
* @property resources A list of GCP resources that are inside of the service perimeter.
* Currently only projects are allowed.
* Format: projects/{project_number}
* @property restrictedServices GCP services that are subject to the Service Perimeter
* restrictions. Must contain a list of services. For example, if
* `storage.googleapis.com` is specified, access to the storage
* buckets inside the perimeter must meet the perimeter's access
* restrictions.
* @property vpcAccessibleServices Specifies how APIs are allowed to communicate within the Service
* Perimeter.
* Structure is documented below.
*/
public data class ServicePerimeterStatus(
public val accessLevels: List? = null,
public val egressPolicies: List? = null,
public val ingressPolicies: List? = null,
public val resources: List? = null,
public val restrictedServices: List? = null,
public val vpcAccessibleServices: ServicePerimeterStatusVpcAccessibleServices? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.accesscontextmanager.outputs.ServicePerimeterStatus): ServicePerimeterStatus = ServicePerimeterStatus(
accessLevels = javaType.accessLevels().map({ args0 -> args0 }),
egressPolicies = javaType.egressPolicies().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.accesscontextmanager.kotlin.outputs.ServicePerimeterStatusEgressPolicy.Companion.toKotlin(args0)
})
}),
ingressPolicies = javaType.ingressPolicies().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.accesscontextmanager.kotlin.outputs.ServicePerimeterStatusIngressPolicy.Companion.toKotlin(args0)
})
}),
resources = javaType.resources().map({ args0 -> args0 }),
restrictedServices = javaType.restrictedServices().map({ args0 -> args0 }),
vpcAccessibleServices = javaType.vpcAccessibleServices().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.accesscontextmanager.kotlin.outputs.ServicePerimeterStatusVpcAccessibleServices.Companion.toKotlin(args0)
})
}).orElse(null),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy