Package-level declarations

Types

Link copied to clipboard
data class ApiOperationArgs(val methodSelectors: Output<List<MethodSelectorArgs>>? = null, val serviceName: Output<String>? = null) : ConvertibleToJava<ApiOperationArgs>

Identification for an API Operation.

Link copied to clipboard
Link copied to clipboard
data class AuditConfigArgs(val auditLogConfigs: Output<List<AuditLogConfigArgs>>? = null, val service: Output<String>? = null) : ConvertibleToJava<AuditConfigArgs>

Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both allServices and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": "user:jose@example.com" }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": "user:aliya@example.com" } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.

Link copied to clipboard
Link copied to clipboard
data class AuditLogConfigArgs(val exemptedMembers: Output<List<String>>? = null, val logType: Output<AuditLogConfigLogType>? = null) : ConvertibleToJava<AuditLogConfigArgs>

Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": "user:jose@example.com" }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.

Link copied to clipboard
Link copied to clipboard
data class BasicLevelArgs(val combiningFunction: Output<BasicLevelCombiningFunction>? = null, val conditions: Output<List<ConditionArgs>>) : ConvertibleToJava<BasicLevelArgs>

BasicLevel is an AccessLevel using a set of recommended features.

Link copied to clipboard
Link copied to clipboard
data class BindingArgs(val condition: Output<ExprArgs>? = null, val members: Output<List<String>>? = null, val role: Output<String>? = null) : ConvertibleToJava<BindingArgs>

Associates members, or principals, with a role.

Link copied to clipboard
Link copied to clipboard
data class ConditionArgs(val devicePolicy: Output<DevicePolicyArgs>? = null, val ipSubnetworks: Output<List<String>>? = null, val members: Output<List<String>>? = null, val negate: Output<Boolean>? = null, val regions: Output<List<String>>? = null, val requiredAccessLevels: Output<List<String>>? = null) : ConvertibleToJava<ConditionArgs>

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
Link copied to clipboard
data class CustomLevelArgs(val expr: Output<ExprArgs>) : ConvertibleToJava<CustomLevelArgs>

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
Link copied to clipboard
data class DevicePolicyArgs(val allowedDeviceManagementLevels: Output<List<DevicePolicyAllowedDeviceManagementLevelsItem>>? = null, val allowedEncryptionStatuses: Output<List<DevicePolicyAllowedEncryptionStatusesItem>>? = null, val osConstraints: Output<List<OsConstraintArgs>>? = null, val requireAdminApproval: Output<Boolean>? = null, val requireCorpOwned: Output<Boolean>? = null, val requireScreenlock: Output<Boolean>? = null) : ConvertibleToJava<DevicePolicyArgs>

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
Link copied to clipboard
data class EgressFromArgs(val identities: Output<List<String>>? = null, val identityType: Output<EgressFromIdentityType>? = null) : ConvertibleToJava<EgressFromArgs>

Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.

Link copied to clipboard
Link copied to clipboard
data class EgressPolicyArgs(val egressFrom: Output<EgressFromArgs>? = null, val egressTo: Output<EgressToArgs>? = null) : ConvertibleToJava<EgressPolicyArgs>

Policy for egress from perimeter. EgressPolicies match requests based on egress_from and egress_to stanzas. For an EgressPolicy to match, both egress_from and egress_to stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the resources that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.

Link copied to clipboard
Link copied to clipboard
data class EgressToArgs(val externalResources: Output<List<String>>? = null, val operations: Output<List<ApiOperationArgs>>? = null, val resources: Output<List<String>>? = null) : ConvertibleToJava<EgressToArgs>

Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the resources specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match operations AND resources fields in order to be allowed egress out of the perimeter.

Link copied to clipboard
Link copied to clipboard
data class ExprArgs(val description: Output<String>? = null, val expression: Output<String>? = null, val location: Output<String>? = null, val title: Output<String>? = null) : ConvertibleToJava<ExprArgs>

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

Builder for ExprArgs.

Link copied to clipboard
data class GetAccessLevelPlainArgs(val accessLevelFormat: String? = null, val accessLevelId: String, val accessPolicyId: String) : ConvertibleToJava<GetAccessLevelPlainArgs>
Link copied to clipboard
data class GetAccessPolicyIamPolicyPlainArgs(val accessPolicyId: String) : ConvertibleToJava<GetAccessPolicyIamPolicyPlainArgs>
Link copied to clipboard
data class GetAccessPolicyPlainArgs(val accessPolicyId: String) : ConvertibleToJava<GetAccessPolicyPlainArgs>
Link copied to clipboard
data class GetAuthorizedOrgsDescPlainArgs(val accessPolicyId: String, val authorizedOrgsDescId: String) : ConvertibleToJava<GetAuthorizedOrgsDescPlainArgs>
Link copied to clipboard
data class GetGcpUserAccessBindingPlainArgs(val gcpUserAccessBindingId: String, val organizationId: String) : ConvertibleToJava<GetGcpUserAccessBindingPlainArgs>
Link copied to clipboard
data class GetServicePerimeterPlainArgs(val accessPolicyId: String, val servicePerimeterId: String) : ConvertibleToJava<GetServicePerimeterPlainArgs>
Link copied to clipboard
data class IngressFromArgs(val identities: Output<List<String>>? = null, val identityType: Output<IngressFromIdentityType>? = null, val sources: Output<List<IngressSourceArgs>>? = null) : ConvertibleToJava<IngressFromArgs>

Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in sources AND identity related fields in order to match.

Link copied to clipboard
Link copied to clipboard
data class IngressPolicyArgs(val ingressFrom: Output<IngressFromArgs>? = null, val ingressTo: Output<IngressToArgs>? = null) : ConvertibleToJava<IngressPolicyArgs>

Policy for ingress into ServicePerimeter. IngressPolicies match requests based on ingress_from and ingress_to stanzas. For an ingress policy to match, both the ingress_from and ingress_to stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the ingress_to field.

Link copied to clipboard
Link copied to clipboard
data class IngressSourceArgs(val accessLevel: Output<String>? = null, val resource: Output<String>? = null) : ConvertibleToJava<IngressSourceArgs>

The source that IngressPolicy authorizes access from.

Link copied to clipboard
Link copied to clipboard
data class IngressToArgs(val operations: Output<List<ApiOperationArgs>>? = null, val resources: Output<List<String>>? = null) : ConvertibleToJava<IngressToArgs>

Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in operations AND resources in order to match.

Link copied to clipboard
Link copied to clipboard
data class MethodSelectorArgs(val method: Output<String>? = null, val permission: Output<String>? = null) : ConvertibleToJava<MethodSelectorArgs>

An allowed method or permission of a service specified in ApiOperation.

Link copied to clipboard
Link copied to clipboard
data class OsConstraintArgs(val minimumVersion: Output<String>? = null, val osType: Output<OsConstraintOsType>, val requireVerifiedChromeOs: Output<Boolean>? = null) : ConvertibleToJava<OsConstraintArgs>

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

Link copied to clipboard
Link copied to clipboard
data class ServicePerimeterConfigArgs(val accessLevels: Output<List<String>>? = null, val egressPolicies: Output<List<EgressPolicyArgs>>? = null, val ingressPolicies: Output<List<IngressPolicyArgs>>? = null, val resources: Output<List<String>>? = null, val restrictedServices: Output<List<String>>? = null, val vpcAccessibleServices: Output<VpcAccessibleServicesArgs>? = null) : ConvertibleToJava<ServicePerimeterConfigArgs>

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

Link copied to clipboard
data class VpcAccessibleServicesArgs(val allowedServices: Output<List<String>>? = null, val enableRestriction: Output<Boolean>? = null) : ConvertibleToJava<VpcAccessibleServicesArgs>

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