Class: Google::Cloud::DiscoveryEngine::V1::Document

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/discoveryengine/v1/document.rb

Overview

Document captures all raw metadata information of items to be recommended or searched.

Defined Under Namespace

Classes: AclInfo, Content, IndexStatus

Instance Attribute Summary collapse

Instance Attribute Details

#acl_info::Google::Cloud::DiscoveryEngine::V1::Document::AclInfo

Returns Access control information for the document.

Returns:



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'proto_docs/google/cloud/discoveryengine/v1/document.rb', line 91

class Document
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Unstructured data linked to this document.
  # @!attribute [rw] raw_bytes
  #   @return [::String]
  #     The content represented as a stream of bytes. The maximum length is
  #     1,000,000 bytes (1 MB / ~0.95 MiB).
  #
  #     Note: As with all `bytes` fields, this field is represented as pure
  #     binary in Protocol Buffers and base64-encoded string in JSON. For
  #     example, `abc123!?$*&()'-=@~` should be represented as
  #     `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See
  #     https://developers.google.com/protocol-buffers/docs/proto3#json.
  #
  #     Note: The following fields are mutually exclusive: `raw_bytes`, `uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] uri
  #   @return [::String]
  #     The URI of the content. Only Cloud Storage URIs (e.g.
  #     `gs://bucket-name/path/to/file`) are supported. The maximum file size
  #     is 2.5 MB for text-based formats, 200 MB for other formats.
  #
  #     Note: The following fields are mutually exclusive: `uri`, `raw_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     The MIME type of the content. Supported types:
  #
  #     * `application/pdf` (PDF, only native PDFs are supported for now)
  #     * `text/html` (HTML)
  #     * `text/plain` (TXT)
  #     * `application/xml` or `text/xml` (XML)
  #     * `application/json` (JSON)
  #     * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
  #     * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
  #     * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
  #     (XLSX)
  #     * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM)
  #
  #     The following types are supported only if layout parser is enabled in the
  #     data store:
  #
  #     * `image/bmp` (BMP)
  #     * `image/gif` (GIF)
  #     * `image/jpeg` (JPEG)
  #     * `image/png` (PNG)
  #     * `image/tiff` (TIFF)
  #
  #     See https://www.iana.org/assignments/media-types/media-types.xhtml.
  class Content
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ACL Information of the Document.
  # @!attribute [rw] readers
  #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Document::AclInfo::AccessRestriction>]
  #     Readers of the document.
  class AclInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # 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"
    #           }
    #         ],
    #       }
    #     ]
    #   }
    # }
    # @!attribute [rw] principals
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Principal>]
    #     List of principals.
    # @!attribute [rw] idp_wide
    #   @return [::Boolean]
    #     All users within the Identity Provider.
    class AccessRestriction
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Index status of the document.
  # @!attribute [rw] index_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time when the document was indexed.
  #     If this field is populated, it means the document has been indexed.
  # @!attribute [rw] error_samples
  #   @return [::Array<::Google::Rpc::Status>]
  #     A sample of errors encountered while indexing the document.
  #     If this field is populated, the document is not indexed due to errors.
  # @!attribute [rw] pending_message
  #   @return [::String]
  #     Immutable. The message indicates the document index is in progress.
  #     If this field is populated, the document index is pending.
  class IndexStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#content::Google::Cloud::DiscoveryEngine::V1::Document::Content

Returns The unstructured data linked to this document. Content can only be set and must be set if this document is under a CONTENT_REQUIRED data store.

Returns:



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'proto_docs/google/cloud/discoveryengine/v1/document.rb', line 91

class Document
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Unstructured data linked to this document.
  # @!attribute [rw] raw_bytes
  #   @return [::String]
  #     The content represented as a stream of bytes. The maximum length is
  #     1,000,000 bytes (1 MB / ~0.95 MiB).
  #
  #     Note: As with all `bytes` fields, this field is represented as pure
  #     binary in Protocol Buffers and base64-encoded string in JSON. For
  #     example, `abc123!?$*&()'-=@~` should be represented as
  #     `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See
  #     https://developers.google.com/protocol-buffers/docs/proto3#json.
  #
  #     Note: The following fields are mutually exclusive: `raw_bytes`, `uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] uri
  #   @return [::String]
  #     The URI of the content. Only Cloud Storage URIs (e.g.
  #     `gs://bucket-name/path/to/file`) are supported. The maximum file size
  #     is 2.5 MB for text-based formats, 200 MB for other formats.
  #
  #     Note: The following fields are mutually exclusive: `uri`, `raw_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     The MIME type of the content. Supported types:
  #
  #     * `application/pdf` (PDF, only native PDFs are supported for now)
  #     * `text/html` (HTML)
  #     * `text/plain` (TXT)
  #     * `application/xml` or `text/xml` (XML)
  #     * `application/json` (JSON)
  #     * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
  #     * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
  #     * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
  #     (XLSX)
  #     * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM)
  #
  #     The following types are supported only if layout parser is enabled in the
  #     data store:
  #
  #     * `image/bmp` (BMP)
  #     * `image/gif` (GIF)
  #     * `image/jpeg` (JPEG)
  #     * `image/png` (PNG)
  #     * `image/tiff` (TIFF)
  #
  #     See https://www.iana.org/assignments/media-types/media-types.xhtml.
  class Content
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ACL Information of the Document.
  # @!attribute [rw] readers
  #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Document::AclInfo::AccessRestriction>]
  #     Readers of the document.
  class AclInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # 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"
    #           }
    #         ],
    #       }
    #     ]
    #   }
    # }
    # @!attribute [rw] principals
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Principal>]
    #     List of principals.
    # @!attribute [rw] idp_wide
    #   @return [::Boolean]
    #     All users within the Identity Provider.
    class AccessRestriction
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Index status of the document.
  # @!attribute [rw] index_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time when the document was indexed.
  #     If this field is populated, it means the document has been indexed.
  # @!attribute [rw] error_samples
  #   @return [::Array<::Google::Rpc::Status>]
  #     A sample of errors encountered while indexing the document.
  #     If this field is populated, the document is not indexed due to errors.
  # @!attribute [rw] pending_message
  #   @return [::String]
  #     Immutable. The message indicates the document index is in progress.
  #     If this field is populated, the document index is pending.
  class IndexStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#derived_struct_data::Google::Protobuf::Struct (readonly)

Returns Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document.

Returns:

  • (::Google::Protobuf::Struct)

    Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document.



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'proto_docs/google/cloud/discoveryengine/v1/document.rb', line 91

class Document
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Unstructured data linked to this document.
  # @!attribute [rw] raw_bytes
  #   @return [::String]
  #     The content represented as a stream of bytes. The maximum length is
  #     1,000,000 bytes (1 MB / ~0.95 MiB).
  #
  #     Note: As with all `bytes` fields, this field is represented as pure
  #     binary in Protocol Buffers and base64-encoded string in JSON. For
  #     example, `abc123!?$*&()'-=@~` should be represented as
  #     `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See
  #     https://developers.google.com/protocol-buffers/docs/proto3#json.
  #
  #     Note: The following fields are mutually exclusive: `raw_bytes`, `uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] uri
  #   @return [::String]
  #     The URI of the content. Only Cloud Storage URIs (e.g.
  #     `gs://bucket-name/path/to/file`) are supported. The maximum file size
  #     is 2.5 MB for text-based formats, 200 MB for other formats.
  #
  #     Note: The following fields are mutually exclusive: `uri`, `raw_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     The MIME type of the content. Supported types:
  #
  #     * `application/pdf` (PDF, only native PDFs are supported for now)
  #     * `text/html` (HTML)
  #     * `text/plain` (TXT)
  #     * `application/xml` or `text/xml` (XML)
  #     * `application/json` (JSON)
  #     * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
  #     * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
  #     * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
  #     (XLSX)
  #     * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM)
  #
  #     The following types are supported only if layout parser is enabled in the
  #     data store:
  #
  #     * `image/bmp` (BMP)
  #     * `image/gif` (GIF)
  #     * `image/jpeg` (JPEG)
  #     * `image/png` (PNG)
  #     * `image/tiff` (TIFF)
  #
  #     See https://www.iana.org/assignments/media-types/media-types.xhtml.
  class Content
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ACL Information of the Document.
  # @!attribute [rw] readers
  #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Document::AclInfo::AccessRestriction>]
  #     Readers of the document.
  class AclInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # 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"
    #           }
    #         ],
    #       }
    #     ]
    #   }
    # }
    # @!attribute [rw] principals
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Principal>]
    #     List of principals.
    # @!attribute [rw] idp_wide
    #   @return [::Boolean]
    #     All users within the Identity Provider.
    class AccessRestriction
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Index status of the document.
  # @!attribute [rw] index_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time when the document was indexed.
  #     If this field is populated, it means the document has been indexed.
  # @!attribute [rw] error_samples
  #   @return [::Array<::Google::Rpc::Status>]
  #     A sample of errors encountered while indexing the document.
  #     If this field is populated, the document is not indexed due to errors.
  # @!attribute [rw] pending_message
  #   @return [::String]
  #     Immutable. The message indicates the document index is in progress.
  #     If this field is populated, the document index is pending.
  class IndexStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#id::String

Returns Immutable. The identifier of the document.

Id should conform to RFC-1034 standard with a length limit of 128 characters.

Returns:

  • (::String)

    Immutable. The identifier of the document.

    Id should conform to RFC-1034 standard with a length limit of 128 characters.



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'proto_docs/google/cloud/discoveryengine/v1/document.rb', line 91

class Document
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Unstructured data linked to this document.
  # @!attribute [rw] raw_bytes
  #   @return [::String]
  #     The content represented as a stream of bytes. The maximum length is
  #     1,000,000 bytes (1 MB / ~0.95 MiB).
  #
  #     Note: As with all `bytes` fields, this field is represented as pure
  #     binary in Protocol Buffers and base64-encoded string in JSON. For
  #     example, `abc123!?$*&()'-=@~` should be represented as
  #     `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See
  #     https://developers.google.com/protocol-buffers/docs/proto3#json.
  #
  #     Note: The following fields are mutually exclusive: `raw_bytes`, `uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] uri
  #   @return [::String]
  #     The URI of the content. Only Cloud Storage URIs (e.g.
  #     `gs://bucket-name/path/to/file`) are supported. The maximum file size
  #     is 2.5 MB for text-based formats, 200 MB for other formats.
  #
  #     Note: The following fields are mutually exclusive: `uri`, `raw_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     The MIME type of the content. Supported types:
  #
  #     * `application/pdf` (PDF, only native PDFs are supported for now)
  #     * `text/html` (HTML)
  #     * `text/plain` (TXT)
  #     * `application/xml` or `text/xml` (XML)
  #     * `application/json` (JSON)
  #     * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
  #     * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
  #     * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
  #     (XLSX)
  #     * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM)
  #
  #     The following types are supported only if layout parser is enabled in the
  #     data store:
  #
  #     * `image/bmp` (BMP)
  #     * `image/gif` (GIF)
  #     * `image/jpeg` (JPEG)
  #     * `image/png` (PNG)
  #     * `image/tiff` (TIFF)
  #
  #     See https://www.iana.org/assignments/media-types/media-types.xhtml.
  class Content
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ACL Information of the Document.
  # @!attribute [rw] readers
  #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Document::AclInfo::AccessRestriction>]
  #     Readers of the document.
  class AclInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # 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"
    #           }
    #         ],
    #       }
    #     ]
    #   }
    # }
    # @!attribute [rw] principals
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Principal>]
    #     List of principals.
    # @!attribute [rw] idp_wide
    #   @return [::Boolean]
    #     All users within the Identity Provider.
    class AccessRestriction
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Index status of the document.
  # @!attribute [rw] index_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time when the document was indexed.
  #     If this field is populated, it means the document has been indexed.
  # @!attribute [rw] error_samples
  #   @return [::Array<::Google::Rpc::Status>]
  #     A sample of errors encountered while indexing the document.
  #     If this field is populated, the document is not indexed due to errors.
  # @!attribute [rw] pending_message
  #   @return [::String]
  #     Immutable. The message indicates the document index is in progress.
  #     If this field is populated, the document index is pending.
  class IndexStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#index_status::Google::Cloud::DiscoveryEngine::V1::Document::IndexStatus (readonly)

Returns Output only. The index status of the document.

  • If document is indexed successfully, the index_time field is populated.
  • Otherwise, if document is not indexed due to errors, the error_samples field is populated.
  • Otherwise, if document's index is in progress, the pending_message field is populated.

Returns:

  • (::Google::Cloud::DiscoveryEngine::V1::Document::IndexStatus)

    Output only. The index status of the document.

    • If document is indexed successfully, the index_time field is populated.
    • Otherwise, if document is not indexed due to errors, the error_samples field is populated.
    • Otherwise, if document's index is in progress, the pending_message field is populated.


91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'proto_docs/google/cloud/discoveryengine/v1/document.rb', line 91

class Document
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Unstructured data linked to this document.
  # @!attribute [rw] raw_bytes
  #   @return [::String]
  #     The content represented as a stream of bytes. The maximum length is
  #     1,000,000 bytes (1 MB / ~0.95 MiB).
  #
  #     Note: As with all `bytes` fields, this field is represented as pure
  #     binary in Protocol Buffers and base64-encoded string in JSON. For
  #     example, `abc123!?$*&()'-=@~` should be represented as
  #     `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See
  #     https://developers.google.com/protocol-buffers/docs/proto3#json.
  #
  #     Note: The following fields are mutually exclusive: `raw_bytes`, `uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] uri
  #   @return [::String]
  #     The URI of the content. Only Cloud Storage URIs (e.g.
  #     `gs://bucket-name/path/to/file`) are supported. The maximum file size
  #     is 2.5 MB for text-based formats, 200 MB for other formats.
  #
  #     Note: The following fields are mutually exclusive: `uri`, `raw_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     The MIME type of the content. Supported types:
  #
  #     * `application/pdf` (PDF, only native PDFs are supported for now)
  #     * `text/html` (HTML)
  #     * `text/plain` (TXT)
  #     * `application/xml` or `text/xml` (XML)
  #     * `application/json` (JSON)
  #     * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
  #     * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
  #     * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
  #     (XLSX)
  #     * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM)
  #
  #     The following types are supported only if layout parser is enabled in the
  #     data store:
  #
  #     * `image/bmp` (BMP)
  #     * `image/gif` (GIF)
  #     * `image/jpeg` (JPEG)
  #     * `image/png` (PNG)
  #     * `image/tiff` (TIFF)
  #
  #     See https://www.iana.org/assignments/media-types/media-types.xhtml.
  class Content
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ACL Information of the Document.
  # @!attribute [rw] readers
  #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Document::AclInfo::AccessRestriction>]
  #     Readers of the document.
  class AclInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # 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"
    #           }
    #         ],
    #       }
    #     ]
    #   }
    # }
    # @!attribute [rw] principals
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Principal>]
    #     List of principals.
    # @!attribute [rw] idp_wide
    #   @return [::Boolean]
    #     All users within the Identity Provider.
    class AccessRestriction
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Index status of the document.
  # @!attribute [rw] index_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time when the document was indexed.
  #     If this field is populated, it means the document has been indexed.
  # @!attribute [rw] error_samples
  #   @return [::Array<::Google::Rpc::Status>]
  #     A sample of errors encountered while indexing the document.
  #     If this field is populated, the document is not indexed due to errors.
  # @!attribute [rw] pending_message
  #   @return [::String]
  #     Immutable. The message indicates the document index is in progress.
  #     If this field is populated, the document index is pending.
  class IndexStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#index_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. The last time the document was indexed. If this field is set, the document could be returned in search results.

This field is OUTPUT_ONLY. If this field is not populated, it means the document has never been indexed.

Returns:

  • (::Google::Protobuf::Timestamp)

    Output only. The last time the document was indexed. If this field is set, the document could be returned in search results.

    This field is OUTPUT_ONLY. If this field is not populated, it means the document has never been indexed.



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'proto_docs/google/cloud/discoveryengine/v1/document.rb', line 91

class Document
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Unstructured data linked to this document.
  # @!attribute [rw] raw_bytes
  #   @return [::String]
  #     The content represented as a stream of bytes. The maximum length is
  #     1,000,000 bytes (1 MB / ~0.95 MiB).
  #
  #     Note: As with all `bytes` fields, this field is represented as pure
  #     binary in Protocol Buffers and base64-encoded string in JSON. For
  #     example, `abc123!?$*&()'-=@~` should be represented as
  #     `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See
  #     https://developers.google.com/protocol-buffers/docs/proto3#json.
  #
  #     Note: The following fields are mutually exclusive: `raw_bytes`, `uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] uri
  #   @return [::String]
  #     The URI of the content. Only Cloud Storage URIs (e.g.
  #     `gs://bucket-name/path/to/file`) are supported. The maximum file size
  #     is 2.5 MB for text-based formats, 200 MB for other formats.
  #
  #     Note: The following fields are mutually exclusive: `uri`, `raw_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     The MIME type of the content. Supported types:
  #
  #     * `application/pdf` (PDF, only native PDFs are supported for now)
  #     * `text/html` (HTML)
  #     * `text/plain` (TXT)
  #     * `application/xml` or `text/xml` (XML)
  #     * `application/json` (JSON)
  #     * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
  #     * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
  #     * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
  #     (XLSX)
  #     * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM)
  #
  #     The following types are supported only if layout parser is enabled in the
  #     data store:
  #
  #     * `image/bmp` (BMP)
  #     * `image/gif` (GIF)
  #     * `image/jpeg` (JPEG)
  #     * `image/png` (PNG)
  #     * `image/tiff` (TIFF)
  #
  #     See https://www.iana.org/assignments/media-types/media-types.xhtml.
  class Content
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ACL Information of the Document.
  # @!attribute [rw] readers
  #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Document::AclInfo::AccessRestriction>]
  #     Readers of the document.
  class AclInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # 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"
    #           }
    #         ],
    #       }
    #     ]
    #   }
    # }
    # @!attribute [rw] principals
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Principal>]
    #     List of principals.
    # @!attribute [rw] idp_wide
    #   @return [::Boolean]
    #     All users within the Identity Provider.
    class AccessRestriction
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Index status of the document.
  # @!attribute [rw] index_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time when the document was indexed.
  #     If this field is populated, it means the document has been indexed.
  # @!attribute [rw] error_samples
  #   @return [::Array<::Google::Rpc::Status>]
  #     A sample of errors encountered while indexing the document.
  #     If this field is populated, the document is not indexed due to errors.
  # @!attribute [rw] pending_message
  #   @return [::String]
  #     Immutable. The message indicates the document index is in progress.
  #     If this field is populated, the document index is pending.
  class IndexStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#json_data::String

Returns The JSON string representation of the document. It should conform to the registered Schema or an INVALID_ARGUMENT error is thrown.

Note: The following fields are mutually exclusive: json_data, struct_data. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns:

  • (::String)

    The JSON string representation of the document. It should conform to the registered Schema or an INVALID_ARGUMENT error is thrown.

    Note: The following fields are mutually exclusive: json_data, struct_data. If a field in that set is populated, all other fields in the set will automatically be cleared.



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'proto_docs/google/cloud/discoveryengine/v1/document.rb', line 91

class Document
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Unstructured data linked to this document.
  # @!attribute [rw] raw_bytes
  #   @return [::String]
  #     The content represented as a stream of bytes. The maximum length is
  #     1,000,000 bytes (1 MB / ~0.95 MiB).
  #
  #     Note: As with all `bytes` fields, this field is represented as pure
  #     binary in Protocol Buffers and base64-encoded string in JSON. For
  #     example, `abc123!?$*&()'-=@~` should be represented as
  #     `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See
  #     https://developers.google.com/protocol-buffers/docs/proto3#json.
  #
  #     Note: The following fields are mutually exclusive: `raw_bytes`, `uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] uri
  #   @return [::String]
  #     The URI of the content. Only Cloud Storage URIs (e.g.
  #     `gs://bucket-name/path/to/file`) are supported. The maximum file size
  #     is 2.5 MB for text-based formats, 200 MB for other formats.
  #
  #     Note: The following fields are mutually exclusive: `uri`, `raw_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     The MIME type of the content. Supported types:
  #
  #     * `application/pdf` (PDF, only native PDFs are supported for now)
  #     * `text/html` (HTML)
  #     * `text/plain` (TXT)
  #     * `application/xml` or `text/xml` (XML)
  #     * `application/json` (JSON)
  #     * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
  #     * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
  #     * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
  #     (XLSX)
  #     * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM)
  #
  #     The following types are supported only if layout parser is enabled in the
  #     data store:
  #
  #     * `image/bmp` (BMP)
  #     * `image/gif` (GIF)
  #     * `image/jpeg` (JPEG)
  #     * `image/png` (PNG)
  #     * `image/tiff` (TIFF)
  #
  #     See https://www.iana.org/assignments/media-types/media-types.xhtml.
  class Content
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ACL Information of the Document.
  # @!attribute [rw] readers
  #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Document::AclInfo::AccessRestriction>]
  #     Readers of the document.
  class AclInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # 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"
    #           }
    #         ],
    #       }
    #     ]
    #   }
    # }
    # @!attribute [rw] principals
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Principal>]
    #     List of principals.
    # @!attribute [rw] idp_wide
    #   @return [::Boolean]
    #     All users within the Identity Provider.
    class AccessRestriction
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Index status of the document.
  # @!attribute [rw] index_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time when the document was indexed.
  #     If this field is populated, it means the document has been indexed.
  # @!attribute [rw] error_samples
  #   @return [::Array<::Google::Rpc::Status>]
  #     A sample of errors encountered while indexing the document.
  #     If this field is populated, the document is not indexed due to errors.
  # @!attribute [rw] pending_message
  #   @return [::String]
  #     Immutable. The message indicates the document index is in progress.
  #     If this field is populated, the document index is pending.
  class IndexStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#name::String

Returns Immutable. The full resource name of the document. Format: projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}.

This field must be a UTF-8 encoded string with a length limit of 1024 characters.

Returns:

  • (::String)

    Immutable. The full resource name of the document. Format: projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}.

    This field must be a UTF-8 encoded string with a length limit of 1024 characters.



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'proto_docs/google/cloud/discoveryengine/v1/document.rb', line 91

class Document
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Unstructured data linked to this document.
  # @!attribute [rw] raw_bytes
  #   @return [::String]
  #     The content represented as a stream of bytes. The maximum length is
  #     1,000,000 bytes (1 MB / ~0.95 MiB).
  #
  #     Note: As with all `bytes` fields, this field is represented as pure
  #     binary in Protocol Buffers and base64-encoded string in JSON. For
  #     example, `abc123!?$*&()'-=@~` should be represented as
  #     `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See
  #     https://developers.google.com/protocol-buffers/docs/proto3#json.
  #
  #     Note: The following fields are mutually exclusive: `raw_bytes`, `uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] uri
  #   @return [::String]
  #     The URI of the content. Only Cloud Storage URIs (e.g.
  #     `gs://bucket-name/path/to/file`) are supported. The maximum file size
  #     is 2.5 MB for text-based formats, 200 MB for other formats.
  #
  #     Note: The following fields are mutually exclusive: `uri`, `raw_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     The MIME type of the content. Supported types:
  #
  #     * `application/pdf` (PDF, only native PDFs are supported for now)
  #     * `text/html` (HTML)
  #     * `text/plain` (TXT)
  #     * `application/xml` or `text/xml` (XML)
  #     * `application/json` (JSON)
  #     * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
  #     * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
  #     * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
  #     (XLSX)
  #     * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM)
  #
  #     The following types are supported only if layout parser is enabled in the
  #     data store:
  #
  #     * `image/bmp` (BMP)
  #     * `image/gif` (GIF)
  #     * `image/jpeg` (JPEG)
  #     * `image/png` (PNG)
  #     * `image/tiff` (TIFF)
  #
  #     See https://www.iana.org/assignments/media-types/media-types.xhtml.
  class Content
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ACL Information of the Document.
  # @!attribute [rw] readers
  #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Document::AclInfo::AccessRestriction>]
  #     Readers of the document.
  class AclInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # 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"
    #           }
    #         ],
    #       }
    #     ]
    #   }
    # }
    # @!attribute [rw] principals
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Principal>]
    #     List of principals.
    # @!attribute [rw] idp_wide
    #   @return [::Boolean]
    #     All users within the Identity Provider.
    class AccessRestriction
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Index status of the document.
  # @!attribute [rw] index_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time when the document was indexed.
  #     If this field is populated, it means the document has been indexed.
  # @!attribute [rw] error_samples
  #   @return [::Array<::Google::Rpc::Status>]
  #     A sample of errors encountered while indexing the document.
  #     If this field is populated, the document is not indexed due to errors.
  # @!attribute [rw] pending_message
  #   @return [::String]
  #     Immutable. The message indicates the document index is in progress.
  #     If this field is populated, the document index is pending.
  class IndexStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#parent_document_id::String

Returns The identifier of the parent document. Currently supports at most two level document hierarchy.

Id should conform to RFC-1034 standard with a length limit of 63 characters.

Returns:

  • (::String)

    The identifier of the parent document. Currently supports at most two level document hierarchy.

    Id should conform to RFC-1034 standard with a length limit of 63 characters.



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'proto_docs/google/cloud/discoveryengine/v1/document.rb', line 91

class Document
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Unstructured data linked to this document.
  # @!attribute [rw] raw_bytes
  #   @return [::String]
  #     The content represented as a stream of bytes. The maximum length is
  #     1,000,000 bytes (1 MB / ~0.95 MiB).
  #
  #     Note: As with all `bytes` fields, this field is represented as pure
  #     binary in Protocol Buffers and base64-encoded string in JSON. For
  #     example, `abc123!?$*&()'-=@~` should be represented as
  #     `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See
  #     https://developers.google.com/protocol-buffers/docs/proto3#json.
  #
  #     Note: The following fields are mutually exclusive: `raw_bytes`, `uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] uri
  #   @return [::String]
  #     The URI of the content. Only Cloud Storage URIs (e.g.
  #     `gs://bucket-name/path/to/file`) are supported. The maximum file size
  #     is 2.5 MB for text-based formats, 200 MB for other formats.
  #
  #     Note: The following fields are mutually exclusive: `uri`, `raw_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     The MIME type of the content. Supported types:
  #
  #     * `application/pdf` (PDF, only native PDFs are supported for now)
  #     * `text/html` (HTML)
  #     * `text/plain` (TXT)
  #     * `application/xml` or `text/xml` (XML)
  #     * `application/json` (JSON)
  #     * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
  #     * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
  #     * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
  #     (XLSX)
  #     * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM)
  #
  #     The following types are supported only if layout parser is enabled in the
  #     data store:
  #
  #     * `image/bmp` (BMP)
  #     * `image/gif` (GIF)
  #     * `image/jpeg` (JPEG)
  #     * `image/png` (PNG)
  #     * `image/tiff` (TIFF)
  #
  #     See https://www.iana.org/assignments/media-types/media-types.xhtml.
  class Content
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ACL Information of the Document.
  # @!attribute [rw] readers
  #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Document::AclInfo::AccessRestriction>]
  #     Readers of the document.
  class AclInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # 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"
    #           }
    #         ],
    #       }
    #     ]
    #   }
    # }
    # @!attribute [rw] principals
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Principal>]
    #     List of principals.
    # @!attribute [rw] idp_wide
    #   @return [::Boolean]
    #     All users within the Identity Provider.
    class AccessRestriction
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Index status of the document.
  # @!attribute [rw] index_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time when the document was indexed.
  #     If this field is populated, it means the document has been indexed.
  # @!attribute [rw] error_samples
  #   @return [::Array<::Google::Rpc::Status>]
  #     A sample of errors encountered while indexing the document.
  #     If this field is populated, the document is not indexed due to errors.
  # @!attribute [rw] pending_message
  #   @return [::String]
  #     Immutable. The message indicates the document index is in progress.
  #     If this field is populated, the document index is pending.
  class IndexStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#schema_id::String

Returns The identifier of the schema located in the same data store.

Returns:

  • (::String)

    The identifier of the schema located in the same data store.



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'proto_docs/google/cloud/discoveryengine/v1/document.rb', line 91

class Document
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Unstructured data linked to this document.
  # @!attribute [rw] raw_bytes
  #   @return [::String]
  #     The content represented as a stream of bytes. The maximum length is
  #     1,000,000 bytes (1 MB / ~0.95 MiB).
  #
  #     Note: As with all `bytes` fields, this field is represented as pure
  #     binary in Protocol Buffers and base64-encoded string in JSON. For
  #     example, `abc123!?$*&()'-=@~` should be represented as
  #     `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See
  #     https://developers.google.com/protocol-buffers/docs/proto3#json.
  #
  #     Note: The following fields are mutually exclusive: `raw_bytes`, `uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] uri
  #   @return [::String]
  #     The URI of the content. Only Cloud Storage URIs (e.g.
  #     `gs://bucket-name/path/to/file`) are supported. The maximum file size
  #     is 2.5 MB for text-based formats, 200 MB for other formats.
  #
  #     Note: The following fields are mutually exclusive: `uri`, `raw_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     The MIME type of the content. Supported types:
  #
  #     * `application/pdf` (PDF, only native PDFs are supported for now)
  #     * `text/html` (HTML)
  #     * `text/plain` (TXT)
  #     * `application/xml` or `text/xml` (XML)
  #     * `application/json` (JSON)
  #     * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
  #     * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
  #     * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
  #     (XLSX)
  #     * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM)
  #
  #     The following types are supported only if layout parser is enabled in the
  #     data store:
  #
  #     * `image/bmp` (BMP)
  #     * `image/gif` (GIF)
  #     * `image/jpeg` (JPEG)
  #     * `image/png` (PNG)
  #     * `image/tiff` (TIFF)
  #
  #     See https://www.iana.org/assignments/media-types/media-types.xhtml.
  class Content
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ACL Information of the Document.
  # @!attribute [rw] readers
  #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Document::AclInfo::AccessRestriction>]
  #     Readers of the document.
  class AclInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # 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"
    #           }
    #         ],
    #       }
    #     ]
    #   }
    # }
    # @!attribute [rw] principals
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Principal>]
    #     List of principals.
    # @!attribute [rw] idp_wide
    #   @return [::Boolean]
    #     All users within the Identity Provider.
    class AccessRestriction
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Index status of the document.
  # @!attribute [rw] index_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time when the document was indexed.
  #     If this field is populated, it means the document has been indexed.
  # @!attribute [rw] error_samples
  #   @return [::Array<::Google::Rpc::Status>]
  #     A sample of errors encountered while indexing the document.
  #     If this field is populated, the document is not indexed due to errors.
  # @!attribute [rw] pending_message
  #   @return [::String]
  #     Immutable. The message indicates the document index is in progress.
  #     If this field is populated, the document index is pending.
  class IndexStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#struct_data::Google::Protobuf::Struct

Returns The structured JSON data for the document. It should conform to the registered Schema or an INVALID_ARGUMENT error is thrown.

Note: The following fields are mutually exclusive: struct_data, json_data. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns:

  • (::Google::Protobuf::Struct)

    The structured JSON data for the document. It should conform to the registered Schema or an INVALID_ARGUMENT error is thrown.

    Note: The following fields are mutually exclusive: struct_data, json_data. If a field in that set is populated, all other fields in the set will automatically be cleared.



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'proto_docs/google/cloud/discoveryengine/v1/document.rb', line 91

class Document
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Unstructured data linked to this document.
  # @!attribute [rw] raw_bytes
  #   @return [::String]
  #     The content represented as a stream of bytes. The maximum length is
  #     1,000,000 bytes (1 MB / ~0.95 MiB).
  #
  #     Note: As with all `bytes` fields, this field is represented as pure
  #     binary in Protocol Buffers and base64-encoded string in JSON. For
  #     example, `abc123!?$*&()'-=@~` should be represented as
  #     `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See
  #     https://developers.google.com/protocol-buffers/docs/proto3#json.
  #
  #     Note: The following fields are mutually exclusive: `raw_bytes`, `uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] uri
  #   @return [::String]
  #     The URI of the content. Only Cloud Storage URIs (e.g.
  #     `gs://bucket-name/path/to/file`) are supported. The maximum file size
  #     is 2.5 MB for text-based formats, 200 MB for other formats.
  #
  #     Note: The following fields are mutually exclusive: `uri`, `raw_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] mime_type
  #   @return [::String]
  #     The MIME type of the content. Supported types:
  #
  #     * `application/pdf` (PDF, only native PDFs are supported for now)
  #     * `text/html` (HTML)
  #     * `text/plain` (TXT)
  #     * `application/xml` or `text/xml` (XML)
  #     * `application/json` (JSON)
  #     * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
  #     * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
  #     * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
  #     (XLSX)
  #     * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM)
  #
  #     The following types are supported only if layout parser is enabled in the
  #     data store:
  #
  #     * `image/bmp` (BMP)
  #     * `image/gif` (GIF)
  #     * `image/jpeg` (JPEG)
  #     * `image/png` (PNG)
  #     * `image/tiff` (TIFF)
  #
  #     See https://www.iana.org/assignments/media-types/media-types.xhtml.
  class Content
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ACL Information of the Document.
  # @!attribute [rw] readers
  #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Document::AclInfo::AccessRestriction>]
  #     Readers of the document.
  class AclInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # 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"
    #           }
    #         ],
    #       }
    #     ]
    #   }
    # }
    # @!attribute [rw] principals
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Principal>]
    #     List of principals.
    # @!attribute [rw] idp_wide
    #   @return [::Boolean]
    #     All users within the Identity Provider.
    class AccessRestriction
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Index status of the document.
  # @!attribute [rw] index_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time when the document was indexed.
  #     If this field is populated, it means the document has been indexed.
  # @!attribute [rw] error_samples
  #   @return [::Array<::Google::Rpc::Status>]
  #     A sample of errors encountered while indexing the document.
  #     If this field is populated, the document is not indexed due to errors.
  # @!attribute [rw] pending_message
  #   @return [::String]
  #     Immutable. The message indicates the document index is in progress.
  #     If this field is populated, the document index is pending.
  class IndexStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end