Class Document.AclInfo.AccessRestriction

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

public static final class Document.AclInfo.AccessRestriction extends com.google.protobuf.GeneratedMessage 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
See Also: