google-cloud-data_catalog-v1 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/data_catalog/v1.rb +2 -0
  3. data/lib/google/cloud/data_catalog/v1/data_catalog/client.rb +182 -64
  4. data/lib/google/cloud/data_catalog/v1/data_catalog/paths.rb +23 -0
  5. data/lib/google/cloud/data_catalog/v1/policy_tag_manager.rb +54 -0
  6. data/lib/google/cloud/data_catalog/v1/policy_tag_manager/client.rb +1320 -0
  7. data/lib/google/cloud/data_catalog/v1/policy_tag_manager/credentials.rb +51 -0
  8. data/lib/google/cloud/data_catalog/v1/policy_tag_manager/paths.rb +90 -0
  9. data/lib/google/cloud/data_catalog/v1/policy_tag_manager_serialization.rb +51 -0
  10. data/lib/google/cloud/data_catalog/v1/policy_tag_manager_serialization/client.rb +474 -0
  11. data/lib/google/cloud/data_catalog/v1/policy_tag_manager_serialization/credentials.rb +51 -0
  12. data/lib/google/cloud/data_catalog/v1/policy_tag_manager_serialization/paths.rb +69 -0
  13. data/lib/google/cloud/data_catalog/v1/version.rb +1 -1
  14. data/lib/google/cloud/datacatalog/v1/common_pb.rb +1 -0
  15. data/lib/google/cloud/datacatalog/v1/data_source_pb.rb +30 -0
  16. data/lib/google/cloud/datacatalog/v1/datacatalog_pb.rb +25 -0
  17. data/lib/google/cloud/datacatalog/v1/datacatalog_services_pb.rb +6 -3
  18. data/lib/google/cloud/datacatalog/v1/policytagmanager_pb.rb +107 -0
  19. data/lib/google/cloud/datacatalog/v1/policytagmanager_services_pb.rb +85 -0
  20. data/lib/google/cloud/datacatalog/v1/policytagmanagerserialization_pb.rb +70 -0
  21. data/lib/google/cloud/datacatalog/v1/policytagmanagerserialization_services_pb.rb +62 -0
  22. data/lib/google/cloud/datacatalog/v1/search_pb.rb +2 -0
  23. data/lib/google/cloud/datacatalog/v1/table_spec_pb.rb +1 -0
  24. data/lib/google/cloud/datacatalog/v1/tags_pb.rb +1 -0
  25. data/proto_docs/google/cloud/datacatalog/v1/common.rb +3 -0
  26. data/proto_docs/google/cloud/datacatalog/v1/data_source.rb +51 -0
  27. data/proto_docs/google/cloud/datacatalog/v1/datacatalog.rb +212 -111
  28. data/proto_docs/google/cloud/datacatalog/v1/policytagmanager.rb +292 -0
  29. data/proto_docs/google/cloud/datacatalog/v1/policytagmanagerserialization.rb +141 -0
  30. data/proto_docs/google/cloud/datacatalog/v1/schema.rb +16 -4
  31. data/proto_docs/google/cloud/datacatalog/v1/search.rb +14 -0
  32. data/proto_docs/google/cloud/datacatalog/v1/table_spec.rb +3 -0
  33. data/proto_docs/google/cloud/datacatalog/v1/tags.rb +44 -21
  34. metadata +20 -4
@@ -0,0 +1,292 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module DataCatalog
23
+ module V1
24
+ # A taxonomy is a collection of hierarchical policy tags that classify data
25
+ # along a common axis. For instance a "data sensitivity" taxonomy could contain
26
+ # the following policy tags:
27
+ # + PII
28
+ # + Account number
29
+ # + Age
30
+ # + SSN
31
+ # + Zipcode
32
+ # + Financials
33
+ # + Revenue
34
+ # A "data origin" taxonomy could contain the following policy tags:
35
+ # + User data
36
+ # + Employee data
37
+ # + Partner data
38
+ # + Public data
39
+ # @!attribute [r] name
40
+ # @return [::String]
41
+ # Output only. Resource name of this taxonomy in format:
42
+ # "projects/\\{project_number}/locations/\\{location_id}/taxonomies/\\{taxonomy_id}".
43
+ # Note that taxonomy_id's are unique and generated by Policy Tag Manager.
44
+ # @!attribute [rw] display_name
45
+ # @return [::String]
46
+ # Required. User-defined name of this taxonomy. It must: contain only unicode letters,
47
+ # numbers, underscores, dashes and spaces; not start or end with spaces; and
48
+ # be at most 200 bytes long when encoded in UTF-8.
49
+ # @!attribute [rw] description
50
+ # @return [::String]
51
+ # Optional. Description of this taxonomy. It must: contain only unicode characters,
52
+ # tabs, newlines, carriage returns and page breaks; and be at most 2000 bytes
53
+ # long when encoded in UTF-8. If not set, defaults to an empty description.
54
+ # @!attribute [r] policy_tag_count
55
+ # @return [::Integer]
56
+ # Output only. Number of policy tags contained in this taxonomy.
57
+ # @!attribute [r] taxonomy_timestamps
58
+ # @return [::Google::Cloud::DataCatalog::V1::SystemTimestamps]
59
+ # Output only. Timestamps about this taxonomy. Only create_time and update_time are used.
60
+ # @!attribute [rw] activated_policy_types
61
+ # @return [::Array<::Google::Cloud::DataCatalog::V1::Taxonomy::PolicyType>]
62
+ # Optional. A list of policy types that are activated for this taxonomy. If not set,
63
+ # defaults to an empty list.
64
+ class Taxonomy
65
+ include ::Google::Protobuf::MessageExts
66
+ extend ::Google::Protobuf::MessageExts::ClassMethods
67
+
68
+ # Defines policy types where the policy tags can be used for.
69
+ module PolicyType
70
+ # Unspecified policy type.
71
+ POLICY_TYPE_UNSPECIFIED = 0
72
+
73
+ # Fine-grained access control policy, which enables access control on
74
+ # tagged sub-resources.
75
+ FINE_GRAINED_ACCESS_CONTROL = 1
76
+ end
77
+ end
78
+
79
+ # Denotes one policy tag in a taxonomy (e.g. ssn). Policy tags can be defined
80
+ # in a hierarchy. For example, consider the following hierarchy:
81
+ # + Geolocation
82
+ # + LatLong
83
+ # + City
84
+ # + ZipCode
85
+ # Policy tag "Geolocation" contains 3 child policy tags: "LatLong", "City", and
86
+ # "ZipCode".
87
+ # @!attribute [r] name
88
+ # @return [::String]
89
+ # Output only. Resource name of this policy tag in format:
90
+ # "projects/\\{project_number}/locations/\\{location_id}/taxonomies/\\{taxonomy_id}/policyTags/\\{policy_tag_id}".
91
+ # Both taxonomy_ids and policy_tag_ids are unique and generated by Policy Tag
92
+ # Manager.
93
+ # @!attribute [rw] display_name
94
+ # @return [::String]
95
+ # Required. User-defined name of this policy tag. It must: be unique within the parent
96
+ # taxonomy; contain only unicode letters, numbers, underscores, dashes and
97
+ # spaces; not start or end with spaces; and be at most 200 bytes long when
98
+ # encoded in UTF-8.
99
+ # @!attribute [rw] description
100
+ # @return [::String]
101
+ # Description of this policy tag. It must: contain only unicode characters,
102
+ # tabs, newlines, carriage returns and page breaks; and be at most 2000 bytes
103
+ # long when encoded in UTF-8. If not set, defaults to an empty description.
104
+ # If not set, defaults to an empty description.
105
+ # @!attribute [rw] parent_policy_tag
106
+ # @return [::String]
107
+ # Resource name of this policy tag's parent policy tag (e.g. for the
108
+ # "LatLong" policy tag in the example above, this field contains the
109
+ # resource name of the "Geolocation" policy tag). If empty, it means this
110
+ # policy tag is a top level policy tag (e.g. this field is empty for the
111
+ # "Geolocation" policy tag in the example above). If not set, defaults to an
112
+ # empty string.
113
+ # @!attribute [r] child_policy_tags
114
+ # @return [::Array<::String>]
115
+ # Output only. Resource names of child policy tags of this policy tag.
116
+ class PolicyTag
117
+ include ::Google::Protobuf::MessageExts
118
+ extend ::Google::Protobuf::MessageExts::ClassMethods
119
+ end
120
+
121
+ # Request message for
122
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManager::Client#create_taxonomy CreateTaxonomy}.
123
+ # @!attribute [rw] parent
124
+ # @return [::String]
125
+ # Required. Resource name of the project that the taxonomy will belong to.
126
+ # @!attribute [rw] taxonomy
127
+ # @return [::Google::Cloud::DataCatalog::V1::Taxonomy]
128
+ # The taxonomy to be created.
129
+ class CreateTaxonomyRequest
130
+ include ::Google::Protobuf::MessageExts
131
+ extend ::Google::Protobuf::MessageExts::ClassMethods
132
+ end
133
+
134
+ # Request message for
135
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManager::Client#delete_taxonomy DeleteTaxonomy}.
136
+ # @!attribute [rw] name
137
+ # @return [::String]
138
+ # Required. Resource name of the taxonomy to be deleted. All policy tags in
139
+ # this taxonomy will also be deleted.
140
+ class DeleteTaxonomyRequest
141
+ include ::Google::Protobuf::MessageExts
142
+ extend ::Google::Protobuf::MessageExts::ClassMethods
143
+ end
144
+
145
+ # Request message for
146
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManager::Client#update_taxonomy UpdateTaxonomy}.
147
+ # @!attribute [rw] taxonomy
148
+ # @return [::Google::Cloud::DataCatalog::V1::Taxonomy]
149
+ # The taxonomy to update. Only description, display_name, and activated
150
+ # policy types can be updated.
151
+ # @!attribute [rw] update_mask
152
+ # @return [::Google::Protobuf::FieldMask]
153
+ # The update mask applies to the resource. For the `FieldMask` definition,
154
+ # see
155
+ # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
156
+ # If not set, defaults to all of the fields that are allowed to update.
157
+ class UpdateTaxonomyRequest
158
+ include ::Google::Protobuf::MessageExts
159
+ extend ::Google::Protobuf::MessageExts::ClassMethods
160
+ end
161
+
162
+ # Request message for
163
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManager::Client#list_taxonomies ListTaxonomies}.
164
+ # @!attribute [rw] parent
165
+ # @return [::String]
166
+ # Required. Resource name of the project to list the taxonomies of.
167
+ # @!attribute [rw] page_size
168
+ # @return [::Integer]
169
+ # The maximum number of items to return. Must be a value between 1 and 1000.
170
+ # If not set, defaults to 50.
171
+ # @!attribute [rw] page_token
172
+ # @return [::String]
173
+ # The next_page_token value returned from a previous list request, if any. If
174
+ # not set, defaults to an empty string.
175
+ class ListTaxonomiesRequest
176
+ include ::Google::Protobuf::MessageExts
177
+ extend ::Google::Protobuf::MessageExts::ClassMethods
178
+ end
179
+
180
+ # Response message for
181
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManager::Client#list_taxonomies ListTaxonomies}.
182
+ # @!attribute [rw] taxonomies
183
+ # @return [::Array<::Google::Cloud::DataCatalog::V1::Taxonomy>]
184
+ # Taxonomies that the project contains.
185
+ # @!attribute [rw] next_page_token
186
+ # @return [::String]
187
+ # Token used to retrieve the next page of results, or empty if there are no
188
+ # more results in the list.
189
+ class ListTaxonomiesResponse
190
+ include ::Google::Protobuf::MessageExts
191
+ extend ::Google::Protobuf::MessageExts::ClassMethods
192
+ end
193
+
194
+ # Request message for
195
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManager::Client#get_taxonomy GetTaxonomy}.
196
+ # @!attribute [rw] name
197
+ # @return [::String]
198
+ # Required. Resource name of the requested taxonomy.
199
+ class GetTaxonomyRequest
200
+ include ::Google::Protobuf::MessageExts
201
+ extend ::Google::Protobuf::MessageExts::ClassMethods
202
+ end
203
+
204
+ # Request message for
205
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManager::Client#create_policy_tag CreatePolicyTag}.
206
+ # @!attribute [rw] parent
207
+ # @return [::String]
208
+ # Required. Resource name of the taxonomy that the policy tag will belong to.
209
+ # @!attribute [rw] policy_tag
210
+ # @return [::Google::Cloud::DataCatalog::V1::PolicyTag]
211
+ # The policy tag to be created.
212
+ class CreatePolicyTagRequest
213
+ include ::Google::Protobuf::MessageExts
214
+ extend ::Google::Protobuf::MessageExts::ClassMethods
215
+ end
216
+
217
+ # Request message for
218
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManager::Client#delete_policy_tag DeletePolicyTag}.
219
+ # @!attribute [rw] name
220
+ # @return [::String]
221
+ # Required. Resource name of the policy tag to be deleted. All of its descendant
222
+ # policy tags will also be deleted.
223
+ class DeletePolicyTagRequest
224
+ include ::Google::Protobuf::MessageExts
225
+ extend ::Google::Protobuf::MessageExts::ClassMethods
226
+ end
227
+
228
+ # Request message for
229
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManager::Client#update_policy_tag UpdatePolicyTag}.
230
+ # @!attribute [rw] policy_tag
231
+ # @return [::Google::Cloud::DataCatalog::V1::PolicyTag]
232
+ # The policy tag to update. Only the description, display_name, and
233
+ # parent_policy_tag fields can be updated.
234
+ # @!attribute [rw] update_mask
235
+ # @return [::Google::Protobuf::FieldMask]
236
+ # The update mask applies to the resource. Only display_name, description and
237
+ # parent_policy_tag can be updated and thus can be listed in the mask. If
238
+ # update_mask is not provided, all allowed fields (i.e. display_name,
239
+ # description and parent) will be updated. For more information including the
240
+ # `FieldMask` definition, see
241
+ # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
242
+ # If not set, defaults to all of the fields that are allowed to update.
243
+ class UpdatePolicyTagRequest
244
+ include ::Google::Protobuf::MessageExts
245
+ extend ::Google::Protobuf::MessageExts::ClassMethods
246
+ end
247
+
248
+ # Request message for
249
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManager::Client#list_policy_tags ListPolicyTags}.
250
+ # @!attribute [rw] parent
251
+ # @return [::String]
252
+ # Required. Resource name of the taxonomy to list the policy tags of.
253
+ # @!attribute [rw] page_size
254
+ # @return [::Integer]
255
+ # The maximum number of items to return. Must be a value between 1 and 1000.
256
+ # If not set, defaults to 50.
257
+ # @!attribute [rw] page_token
258
+ # @return [::String]
259
+ # The next_page_token value returned from a previous List request, if any. If
260
+ # not set, defaults to an empty string.
261
+ class ListPolicyTagsRequest
262
+ include ::Google::Protobuf::MessageExts
263
+ extend ::Google::Protobuf::MessageExts::ClassMethods
264
+ end
265
+
266
+ # Response message for
267
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManager::Client#list_policy_tags ListPolicyTags}.
268
+ # @!attribute [rw] policy_tags
269
+ # @return [::Array<::Google::Cloud::DataCatalog::V1::PolicyTag>]
270
+ # The policy tags that are in the requested taxonomy.
271
+ # @!attribute [rw] next_page_token
272
+ # @return [::String]
273
+ # Token used to retrieve the next page of results, or empty if there are no
274
+ # more results in the list.
275
+ class ListPolicyTagsResponse
276
+ include ::Google::Protobuf::MessageExts
277
+ extend ::Google::Protobuf::MessageExts::ClassMethods
278
+ end
279
+
280
+ # Request message for
281
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManager::Client#get_policy_tag GetPolicyTag}.
282
+ # @!attribute [rw] name
283
+ # @return [::String]
284
+ # Required. Resource name of the requested policy tag.
285
+ class GetPolicyTagRequest
286
+ include ::Google::Protobuf::MessageExts
287
+ extend ::Google::Protobuf::MessageExts::ClassMethods
288
+ end
289
+ end
290
+ end
291
+ end
292
+ end
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module DataCatalog
23
+ module V1
24
+ # Message representing a taxonomy, including its policy tags in hierarchy, as a
25
+ # nested proto. Used for taxonomy replacement, import, and export.
26
+ # @!attribute [rw] display_name
27
+ # @return [::String]
28
+ # Required. Display name of the taxonomy. At most 200 bytes when encoded in UTF-8.
29
+ # @!attribute [rw] description
30
+ # @return [::String]
31
+ # Description of the serialized taxonomy. At most 2000 bytes when encoded in
32
+ # UTF-8. If not set, defaults to an empty description.
33
+ # @!attribute [rw] policy_tags
34
+ # @return [::Array<::Google::Cloud::DataCatalog::V1::SerializedPolicyTag>]
35
+ # Top level policy tags associated with the taxonomy, if any.
36
+ # @!attribute [rw] activated_policy_types
37
+ # @return [::Array<::Google::Cloud::DataCatalog::V1::Taxonomy::PolicyType>]
38
+ # A list of policy types that are activated per taxonomy.
39
+ class SerializedTaxonomy
40
+ include ::Google::Protobuf::MessageExts
41
+ extend ::Google::Protobuf::MessageExts::ClassMethods
42
+ end
43
+
44
+ # Message representing one policy tag, including all its descendant policy
45
+ # tags, as a nested proto.
46
+ # @!attribute [rw] policy_tag
47
+ # @return [::String]
48
+ # Resource name of the policy tag.
49
+ #
50
+ # This field will be ignored when calling ImportTaxonomies.
51
+ # @!attribute [rw] display_name
52
+ # @return [::String]
53
+ # Required. Display name of the policy tag. At most 200 bytes when encoded in UTF-8.
54
+ # @!attribute [rw] description
55
+ # @return [::String]
56
+ # Description of the serialized policy tag. The length of the description is
57
+ # limited to 2000 bytes when encoded in UTF-8. If not set, defaults to an
58
+ # empty description.
59
+ # @!attribute [rw] child_policy_tags
60
+ # @return [::Array<::Google::Cloud::DataCatalog::V1::SerializedPolicyTag>]
61
+ # Children of the policy tag, if any.
62
+ class SerializedPolicyTag
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
+ end
66
+
67
+ # Request message for
68
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManagerSerialization::Client#import_taxonomies ImportTaxonomies}.
69
+ # @!attribute [rw] parent
70
+ # @return [::String]
71
+ # Required. Resource name of project that the imported taxonomies will belong to.
72
+ # @!attribute [rw] inline_source
73
+ # @return [::Google::Cloud::DataCatalog::V1::InlineSource]
74
+ # Inline source used for taxonomies import.
75
+ # @!attribute [rw] cross_regional_source
76
+ # @return [::Google::Cloud::DataCatalog::V1::CrossRegionalSource]
77
+ # Cross-regional source taxonomy to be imported.
78
+ class ImportTaxonomiesRequest
79
+ include ::Google::Protobuf::MessageExts
80
+ extend ::Google::Protobuf::MessageExts::ClassMethods
81
+ end
82
+
83
+ # Inline source containing taxonomies to import.
84
+ # @!attribute [rw] taxonomies
85
+ # @return [::Array<::Google::Cloud::DataCatalog::V1::SerializedTaxonomy>]
86
+ # Required. Taxonomies to be imported.
87
+ class InlineSource
88
+ include ::Google::Protobuf::MessageExts
89
+ extend ::Google::Protobuf::MessageExts::ClassMethods
90
+ end
91
+
92
+ # Cross-regional source used to import an existing taxonomy into a different
93
+ # region.
94
+ # @!attribute [rw] taxonomy
95
+ # @return [::String]
96
+ # Required. The resource name of the source taxonomy to be imported.
97
+ class CrossRegionalSource
98
+ include ::Google::Protobuf::MessageExts
99
+ extend ::Google::Protobuf::MessageExts::ClassMethods
100
+ end
101
+
102
+ # Response message for
103
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManagerSerialization::Client#import_taxonomies ImportTaxonomies}.
104
+ # @!attribute [rw] taxonomies
105
+ # @return [::Array<::Google::Cloud::DataCatalog::V1::Taxonomy>]
106
+ # Taxonomies that were imported.
107
+ class ImportTaxonomiesResponse
108
+ include ::Google::Protobuf::MessageExts
109
+ extend ::Google::Protobuf::MessageExts::ClassMethods
110
+ end
111
+
112
+ # Request message for
113
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManagerSerialization::Client#export_taxonomies ExportTaxonomies}.
114
+ # @!attribute [rw] parent
115
+ # @return [::String]
116
+ # Required. Resource name of the project that the exported taxonomies belong to.
117
+ # @!attribute [rw] taxonomies
118
+ # @return [::Array<::String>]
119
+ # Required. Resource names of the taxonomies to be exported.
120
+ # @!attribute [rw] serialized_taxonomies
121
+ # @return [::Boolean]
122
+ # Export taxonomies as serialized taxonomies, which contain all the policy
123
+ # tags as nested protos.
124
+ class ExportTaxonomiesRequest
125
+ include ::Google::Protobuf::MessageExts
126
+ extend ::Google::Protobuf::MessageExts::ClassMethods
127
+ end
128
+
129
+ # Response message for
130
+ # {::Google::Cloud::DataCatalog::V1::PolicyTagManagerSerialization::Client#export_taxonomies ExportTaxonomies}.
131
+ # @!attribute [rw] taxonomies
132
+ # @return [::Array<::Google::Cloud::DataCatalog::V1::SerializedTaxonomy>]
133
+ # List of taxonomies and policy tags as nested protos.
134
+ class ExportTaxonomiesResponse
135
+ include ::Google::Protobuf::MessageExts
136
+ extend ::Google::Protobuf::MessageExts::ClassMethods
137
+ end
138
+ end
139
+ end
140
+ end
141
+ end
@@ -24,8 +24,10 @@ module Google
24
24
  # Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema).
25
25
  # @!attribute [rw] columns
26
26
  # @return [::Array<::Google::Cloud::DataCatalog::V1::ColumnSchema>]
27
- # Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be
28
- # specified.
27
+ # The unified GoogleSQL-like schema of columns.
28
+ #
29
+ # The overall maximum number of columns and nested columns is 10,000.
30
+ # The maximum nested depth is 15 levels.
29
31
  class Schema
30
32
  include ::Google::Protobuf::MessageExts
31
33
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -36,16 +38,26 @@ module Google
36
38
  # @!attribute [rw] column
37
39
  # @return [::String]
38
40
  # Required. Name of the column.
41
+ #
42
+ # Must be a UTF-8 string without dots (.).
43
+ # The maximum size is 64 bytes.
39
44
  # @!attribute [rw] type
40
45
  # @return [::String]
41
46
  # Required. Type of the column.
47
+ #
48
+ # Must be a UTF-8 string with the maximum size of 128 bytes.
42
49
  # @!attribute [rw] description
43
50
  # @return [::String]
44
51
  # Optional. Description of the column. Default value is an empty string.
52
+ #
53
+ # The description must be a UTF-8 string with the maximum size of 2000
54
+ # bytes.
45
55
  # @!attribute [rw] mode
46
56
  # @return [::String]
47
- # Optional. A column's mode indicates whether the values in this column are required,
48
- # nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
57
+ # Optional. A column's mode indicates if values in this column are required,
58
+ # nullable, or repeated.
59
+ #
60
+ # Only `NULLABLE`, `REQUIRED`, and `REPEATED` values are supported.
49
61
  # Default mode is `NULLABLE`.
50
62
  # @!attribute [rw] subcolumns
51
63
  # @return [::Array<::Google::Cloud::DataCatalog::V1::ColumnSchema>]