Class Document.AclInfo.AccessRestriction.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<Document.AclInfo.AccessRestriction.Builder>
com.google.cloud.discoveryengine.v1alpha.Document.AclInfo.AccessRestriction.Builder
All Implemented Interfaces:
Document.AclInfo.AccessRestrictionOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
Document.AclInfo.AccessRestriction

public static final class Document.AclInfo.AccessRestriction.Builder extends com.google.protobuf.GeneratedMessage.Builder<Document.AclInfo.AccessRestriction.Builder> implements Document.AclInfo.AccessRestrictionOrBuilder
 AclRestriction to model complex inheritance restrictions.

 Example: Modeling a "Both Permit" inheritance, where to access a
 child document, user needs to have access to parent document.

 Document Hierarchy - Space_S --> Page_P.

 Readers:
 Space_S: group_1, user_1
 Page_P: group_2, group_3, user_2

 Space_S ACL Restriction -
 {
 "acl_info": {
 "readers": [
 {
 "principals": [
 {
 "group_id": "group_1"
 },
 {
 "user_id": "user_1"
 }
 ]
 }
 ]
 }
 }

 Page_P ACL Restriction.
 {
 "acl_info": {
 "readers": [
 {
 "principals": [
 {
 "group_id": "group_2"
 },
 {
 "group_id": "group_3"
 },
 {
 "user_id": "user_2"
 }
 ],
 },
 {
 "principals": [
 {
 "group_id": "group_1"
 },
 {
 "user_id": "user_1"
 }
 ],
 }
 ]
 }
 }
 
Protobuf type google.cloud.discoveryengine.v1alpha.Document.AclInfo.AccessRestriction