Package-level declarations

Types

Link copied to clipboard
data class BasicLevelResponse(val combiningFunction: String, val conditions: List<ConditionResponse>)

BasicLevel is an AccessLevel using a set of recommended features.

Link copied to clipboard
data class ConditionResponse(val devicePolicy: DevicePolicyResponse, val ipSubnetworks: List<String>, val members: List<String>, val negate: Boolean, val regions: List<String>, val requiredAccessLevels: List<String>)

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.

Link copied to clipboard
data class CustomLevelResponse(val expr: ExprResponse)

CustomLevel is an AccessLevel using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec

Link copied to clipboard
data class DevicePolicyResponse(val allowedDeviceManagementLevels: List<String>, val allowedEncryptionStatuses: List<String>, val osConstraints: List<OsConstraintResponse>, val requireAdminApproval: Boolean, val requireCorpOwned: Boolean, val requireScreenlock: Boolean)

DevicePolicy specifies device specific restrictions necessary to acquire a given access level. A DevicePolicy specifies requirements for requests from devices to be granted access levels, it does not do any enforcement on the device. DevicePolicy acts as an AND over all specified fields, and each repeated field is an OR over its elements. Any unset fields are ignored. For example, if the proto is { os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be true for requests originating from encrypted Linux desktops and encrypted Windows desktops.

Link copied to clipboard
data class ExprResponse(val description: String, val expression: String, val location: String, val title: String)

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

Link copied to clipboard
data class GetAccessLevelResult(val basic: BasicLevelResponse, val custom: CustomLevelResponse, val description: String, val name: String, val title: String)
Link copied to clipboard
data class GetAccessPolicyResult(val name: String, val parent: String, val title: String)
Link copied to clipboard
data class GetServicePerimeterResult(val description: String, val name: String, val perimeterType: String, val status: ServicePerimeterConfigResponse, val title: String)
Link copied to clipboard
data class OsConstraintResponse(val minimumVersion: String, val osType: String, val requireVerifiedChromeOs: Boolean)

A restriction on the OS type and version of devices making requests.

Link copied to clipboard
data class ServicePerimeterConfigResponse(val accessLevels: List<String>, val resources: List<String>, val restrictedServices: List<String>, val unrestrictedServices: List<String>, val vpcAccessibleServices: VpcAccessibleServicesResponse)

ServicePerimeterConfig specifies a set of Google Cloud resources that describe specific Service Perimeter configuration.

Link copied to clipboard
data class VpcAccessibleServicesResponse(val allowedServices: List<String>, val enableRestriction: Boolean)

Specifies how APIs are allowed to communicate within the Service Perimeter.