google-cloud-data_catalog-v1 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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>]