google-cloud-data_catalog-v1 0.1.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 (39) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +24 -0
  6. data/lib/google-cloud-data_catalog-v1.rb +1 -0
  7. data/lib/google/cloud/common_resources_pb.rb +15 -0
  8. data/lib/google/cloud/data_catalog/v1.rb +19 -0
  9. data/lib/google/cloud/data_catalog/v1/data_catalog.rb +20 -0
  10. data/lib/google/cloud/data_catalog/v1/data_catalog/client.rb +2639 -0
  11. data/lib/google/cloud/data_catalog/v1/data_catalog/credentials.rb +51 -0
  12. data/lib/google/cloud/data_catalog/v1/data_catalog/paths.rb +136 -0
  13. data/lib/google/cloud/data_catalog/v1/version.rb +28 -0
  14. data/lib/google/cloud/datacatalog/v1/common_pb.rb +24 -0
  15. data/lib/google/cloud/datacatalog/v1/datacatalog_pb.rb +226 -0
  16. data/lib/google/cloud/datacatalog/v1/datacatalog_services_pb.rb +222 -0
  17. data/lib/google/cloud/datacatalog/v1/gcs_fileset_spec_pb.rb +31 -0
  18. data/lib/google/cloud/datacatalog/v1/schema_pb.rb +31 -0
  19. data/lib/google/cloud/datacatalog/v1/search_pb.rb +39 -0
  20. data/lib/google/cloud/datacatalog/v1/table_spec_pb.rb +48 -0
  21. data/lib/google/cloud/datacatalog/v1/tags_pb.rb +84 -0
  22. data/lib/google/cloud/datacatalog/v1/timestamps_pb.rb +26 -0
  23. data/proto_docs/README.md +4 -0
  24. data/proto_docs/google/api/field_behavior.rb +59 -0
  25. data/proto_docs/google/api/resource.rb +247 -0
  26. data/proto_docs/google/cloud/datacatalog/v1/common.rb +39 -0
  27. data/proto_docs/google/cloud/datacatalog/v1/datacatalog.rb +748 -0
  28. data/proto_docs/google/cloud/datacatalog/v1/gcs_fileset_spec.rb +79 -0
  29. data/proto_docs/google/cloud/datacatalog/v1/schema.rb +60 -0
  30. data/proto_docs/google/cloud/datacatalog/v1/search.rb +80 -0
  31. data/proto_docs/google/cloud/datacatalog/v1/table_spec.rb +98 -0
  32. data/proto_docs/google/cloud/datacatalog/v1/tags.rb +238 -0
  33. data/proto_docs/google/cloud/datacatalog/v1/timestamps.rb +42 -0
  34. data/proto_docs/google/iam/v1/iam_policy.rb +79 -0
  35. data/proto_docs/google/iam/v1/policy.rb +156 -0
  36. data/proto_docs/google/protobuf/empty.rb +36 -0
  37. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  38. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  39. metadata +207 -0
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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
+ # Describes a Cloud Storage fileset entry.
25
+ # @!attribute [rw] file_patterns
26
+ # @return [Array<String>]
27
+ # Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud
28
+ # Storage documentation](/storage/docs/gsutil/addlhelp/WildcardNames) for
29
+ # more information. Note that bucket wildcards are currently not supported.
30
+ #
31
+ # Examples of valid file_patterns:
32
+ #
33
+ # * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`
34
+ # directory.
35
+ # * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir`
36
+ # spanning all subdirectories.
37
+ # * `gs://bucket_name/file*`: matches files prefixed by `file` in
38
+ # `bucket_name`
39
+ # * `gs://bucket_name/??.txt`: matches files with two characters followed by
40
+ # `.txt` in `bucket_name`
41
+ # * `gs://bucket_name/[aeiou].txt`: matches files that contain a single
42
+ # vowel character followed by `.txt` in
43
+ # `bucket_name`
44
+ # * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ...
45
+ # or `m` followed by `.txt` in `bucket_name`
46
+ # * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match
47
+ # `a/*/b` pattern, such as `a/c/b`, `a/d/b`
48
+ # * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt`
49
+ #
50
+ # You can combine wildcards to provide more powerful matches, for example:
51
+ #
52
+ # * `gs://bucket_name/[a-m]??.j*g`
53
+ # @!attribute [r] sample_gcs_file_specs
54
+ # @return [Array<Google::Cloud::DataCatalog::V1::GcsFileSpec>]
55
+ # Output only. Sample files contained in this fileset, not all files
56
+ # contained in this fileset are represented here.
57
+ class GcsFilesetSpec
58
+ include Google::Protobuf::MessageExts
59
+ extend Google::Protobuf::MessageExts::ClassMethods
60
+ end
61
+
62
+ # Specifications of a single file in Cloud Storage.
63
+ # @!attribute [rw] file_path
64
+ # @return [String]
65
+ # Required. The full file path. Example: `gs://bucket_name/a/b.txt`.
66
+ # @!attribute [r] gcs_timestamps
67
+ # @return [Google::Cloud::DataCatalog::V1::SystemTimestamps]
68
+ # Output only. Timestamps about the Cloud Storage file.
69
+ # @!attribute [r] size_bytes
70
+ # @return [Integer]
71
+ # Output only. The size of the file, in bytes.
72
+ class GcsFileSpec
73
+ include Google::Protobuf::MessageExts
74
+ extend Google::Protobuf::MessageExts::ClassMethods
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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
+ # Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema).
25
+ # @!attribute [rw] columns
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.
29
+ class Schema
30
+ include Google::Protobuf::MessageExts
31
+ extend Google::Protobuf::MessageExts::ClassMethods
32
+ end
33
+
34
+ # Representation of a column within a schema. Columns could be nested inside
35
+ # other columns.
36
+ # @!attribute [rw] column
37
+ # @return [String]
38
+ # Required. Name of the column.
39
+ # @!attribute [rw] type
40
+ # @return [String]
41
+ # Required. Type of the column.
42
+ # @!attribute [rw] description
43
+ # @return [String]
44
+ # Optional. Description of the column. Default value is an empty string.
45
+ # @!attribute [rw] mode
46
+ # @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.
49
+ # Default mode is `NULLABLE`.
50
+ # @!attribute [rw] subcolumns
51
+ # @return [Array<Google::Cloud::DataCatalog::V1::ColumnSchema>]
52
+ # Optional. Schema of sub-columns. A column can have zero or more sub-columns.
53
+ class ColumnSchema
54
+ include Google::Protobuf::MessageExts
55
+ extend Google::Protobuf::MessageExts::ClassMethods
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 result that appears in the response of a search request. Each result
25
+ # captures details of one entry that matches the search.
26
+ # @!attribute [rw] search_result_type
27
+ # @return [Google::Cloud::DataCatalog::V1::SearchResultType]
28
+ # Type of the search result. This field can be used to determine which Get
29
+ # method to call to fetch the full resource.
30
+ # @!attribute [rw] search_result_subtype
31
+ # @return [String]
32
+ # Sub-type of the search result. This is a dot-delimited description of the
33
+ # resource's full type, and is the same as the value callers would provide in
34
+ # the "type" search facet. Examples: `entry.table`, `entry.dataStream`,
35
+ # `tagTemplate`.
36
+ # @!attribute [rw] relative_resource_name
37
+ # @return [String]
38
+ # The relative resource name of the resource in URL format.
39
+ # Examples:
40
+ #
41
+ # * `projects/{project_id}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}`
42
+ # * `projects/{project_id}/tagTemplates/{tag_template_id}`
43
+ # @!attribute [rw] linked_resource
44
+ # @return [String]
45
+ # The full name of the cloud resource the entry belongs to. See:
46
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name.
47
+ # Example:
48
+ #
49
+ # * `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId`
50
+ # @!attribute [r] integrated_system
51
+ # @return [Google::Cloud::DataCatalog::V1::IntegratedSystem]
52
+ # Output only. This field indicates the entry's source system that Data Catalog
53
+ # integrates with, such as BigQuery or Cloud Pub/Sub.
54
+ # @!attribute [rw] user_specified_system
55
+ # @return [String]
56
+ # This field indicates the entry's source system that Data Catalog does not
57
+ # integrate with.
58
+ class SearchCatalogResult
59
+ include Google::Protobuf::MessageExts
60
+ extend Google::Protobuf::MessageExts::ClassMethods
61
+ end
62
+
63
+ # The different types of resources that can be returned in search.
64
+ module SearchResultType
65
+ # Default unknown type.
66
+ SEARCH_RESULT_TYPE_UNSPECIFIED = 0
67
+
68
+ # An {Google::Cloud::DataCatalog::V1::Entry Entry}.
69
+ ENTRY = 1
70
+
71
+ # A {Google::Cloud::DataCatalog::V1::TagTemplate TagTemplate}.
72
+ TAG_TEMPLATE = 2
73
+
74
+ # An {Google::Cloud::DataCatalog::V1::EntryGroup EntryGroup}.
75
+ ENTRY_GROUP = 3
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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
+ # Describes a BigQuery table.
25
+ # @!attribute [r] table_source_type
26
+ # @return [Google::Cloud::DataCatalog::V1::TableSourceType]
27
+ # Output only. The table source type.
28
+ # @!attribute [rw] view_spec
29
+ # @return [Google::Cloud::DataCatalog::V1::ViewSpec]
30
+ # Table view specification. This field should only be populated if
31
+ # `table_source_type` is `BIGQUERY_VIEW`.
32
+ # @!attribute [rw] table_spec
33
+ # @return [Google::Cloud::DataCatalog::V1::TableSpec]
34
+ # Spec of a BigQuery table. This field should only be populated if
35
+ # `table_source_type` is `BIGQUERY_TABLE`.
36
+ class BigQueryTableSpec
37
+ include Google::Protobuf::MessageExts
38
+ extend Google::Protobuf::MessageExts::ClassMethods
39
+ end
40
+
41
+ # Table view specification.
42
+ # @!attribute [r] view_query
43
+ # @return [String]
44
+ # Output only. The query that defines the table view.
45
+ class ViewSpec
46
+ include Google::Protobuf::MessageExts
47
+ extend Google::Protobuf::MessageExts::ClassMethods
48
+ end
49
+
50
+ # Normal BigQuery table spec.
51
+ # @!attribute [r] grouped_entry
52
+ # @return [String]
53
+ # Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`,
54
+ # `grouped_entry` is the Data Catalog resource name of the date sharded
55
+ # grouped entry, for example,
56
+ # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
57
+ # Otherwise, `grouped_entry` is empty.
58
+ class TableSpec
59
+ include Google::Protobuf::MessageExts
60
+ extend Google::Protobuf::MessageExts::ClassMethods
61
+ end
62
+
63
+ # Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`.
64
+ # Context:
65
+ # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding
66
+ # @!attribute [r] dataset
67
+ # @return [String]
68
+ # Output only. The Data Catalog resource name of the dataset entry the current table
69
+ # belongs to, for example,
70
+ # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
71
+ # @!attribute [r] table_prefix
72
+ # @return [String]
73
+ # Output only. The table name prefix of the shards. The name of any given shard is
74
+ # `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the
75
+ # `table_prefix` is `MyTable`.
76
+ # @!attribute [r] shard_count
77
+ # @return [Integer]
78
+ # Output only. Total number of shards.
79
+ class BigQueryDateShardedSpec
80
+ include Google::Protobuf::MessageExts
81
+ extend Google::Protobuf::MessageExts::ClassMethods
82
+ end
83
+
84
+ # Table source type.
85
+ module TableSourceType
86
+ # Default unknown type.
87
+ TABLE_SOURCE_TYPE_UNSPECIFIED = 0
88
+
89
+ # Table view.
90
+ BIGQUERY_VIEW = 2
91
+
92
+ # BigQuery native table.
93
+ BIGQUERY_TABLE = 5
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,238 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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
+ # Tags are used to attach custom metadata to Data Catalog resources. Tags
25
+ # conform to the specifications within their tag template.
26
+ #
27
+ # See [Data Catalog IAM](/data-catalog/docs/concepts/iam) for information on
28
+ # the permissions needed to create or view tags.
29
+ # @!attribute [rw] name
30
+ # @return [String]
31
+ # The resource name of the tag in URL format. Example:
32
+ #
33
+ # * projects/\\{project_id}/locations/\\{location}/entrygroups/\\{entry_group_id}/entries/\\{entry_id}/tags/\\{tag_id}
34
+ #
35
+ # where `tag_id` is a system-generated identifier.
36
+ # Note that this Tag may not actually be stored in the location in this name.
37
+ # @!attribute [rw] template
38
+ # @return [String]
39
+ # Required. The resource name of the tag template that this tag uses. Example:
40
+ #
41
+ # * projects/\\{project_id}/locations/\\{location}/tagTemplates/\\{tag_template_id}
42
+ #
43
+ # This field cannot be modified after creation.
44
+ # @!attribute [r] template_display_name
45
+ # @return [String]
46
+ # Output only. The display name of the tag template.
47
+ # @!attribute [rw] column
48
+ # @return [String]
49
+ # Resources like Entry can have schemas associated with them. This scope
50
+ # allows users to attach tags to an individual column based on that schema.
51
+ #
52
+ # For attaching a tag to a nested column, use `.` to separate the column
53
+ # names. Example:
54
+ #
55
+ # * `outer_column.inner_column`
56
+ # @!attribute [rw] fields
57
+ # @return [Google::Protobuf::Map{String => Google::Cloud::DataCatalog::V1::TagField}]
58
+ # Required. This maps the ID of a tag field to the value of and additional information
59
+ # about that field. Valid field IDs are defined by the tag's template. A tag
60
+ # must have at least 1 field and at most 500 fields.
61
+ class Tag
62
+ include Google::Protobuf::MessageExts
63
+ extend Google::Protobuf::MessageExts::ClassMethods
64
+
65
+ # @!attribute [rw] key
66
+ # @return [String]
67
+ # @!attribute [rw] value
68
+ # @return [Google::Cloud::DataCatalog::V1::TagField]
69
+ class FieldsEntry
70
+ include Google::Protobuf::MessageExts
71
+ extend Google::Protobuf::MessageExts::ClassMethods
72
+ end
73
+ end
74
+
75
+ # Contains the value and supporting information for a field within
76
+ # a {Google::Cloud::DataCatalog::V1::Tag Tag}.
77
+ # @!attribute [r] display_name
78
+ # @return [String]
79
+ # Output only. The display name of this field.
80
+ # @!attribute [rw] double_value
81
+ # @return [Float]
82
+ # Holds the value for a tag field with double type.
83
+ # @!attribute [rw] string_value
84
+ # @return [String]
85
+ # Holds the value for a tag field with string type.
86
+ # @!attribute [rw] bool_value
87
+ # @return [Boolean]
88
+ # Holds the value for a tag field with boolean type.
89
+ # @!attribute [rw] timestamp_value
90
+ # @return [Google::Protobuf::Timestamp]
91
+ # Holds the value for a tag field with timestamp type.
92
+ # @!attribute [rw] enum_value
93
+ # @return [Google::Cloud::DataCatalog::V1::TagField::EnumValue]
94
+ # Holds the value for a tag field with enum type. This value must be
95
+ # one of the allowed values in the definition of this enum.
96
+ # @!attribute [r] order
97
+ # @return [Integer]
98
+ # Output only. The order of this field with respect to other fields in this tag. It can be
99
+ # set in {Google::Cloud::DataCatalog::V1::TagTemplateField#order Tag}. For
100
+ # example, a higher value can indicate a more important field. The value can
101
+ # be negative. Multiple fields can have the same order, and field orders
102
+ # within a tag do not have to be sequential.
103
+ class TagField
104
+ include Google::Protobuf::MessageExts
105
+ extend Google::Protobuf::MessageExts::ClassMethods
106
+
107
+ # Holds an enum value.
108
+ # @!attribute [rw] display_name
109
+ # @return [String]
110
+ # The display name of the enum value.
111
+ class EnumValue
112
+ include Google::Protobuf::MessageExts
113
+ extend Google::Protobuf::MessageExts::ClassMethods
114
+ end
115
+ end
116
+
117
+ # A tag template defines a tag, which can have one or more typed fields.
118
+ # The template is used to create and attach the tag to GCP resources.
119
+ # [Tag template roles](/iam/docs/understanding-roles#data-catalog-roles)
120
+ # provide permissions to create, edit, and use the template. See, for example,
121
+ # the [TagTemplate User](/data-catalog/docs/how-to/template-user) role, which
122
+ # includes permission to use the tag template to tag resources.
123
+ # @!attribute [rw] name
124
+ # @return [String]
125
+ # The resource name of the tag template in URL format. Example:
126
+ #
127
+ # * projects/\\{project_id}/locations/\\{location}/tagTemplates/\\{tag_template_id}
128
+ #
129
+ # Note that this TagTemplate and its child resources may not actually be
130
+ # stored in the location in this name.
131
+ # @!attribute [rw] display_name
132
+ # @return [String]
133
+ # The display name for this template. Defaults to an empty string.
134
+ # @!attribute [rw] fields
135
+ # @return [Google::Protobuf::Map{String => Google::Cloud::DataCatalog::V1::TagTemplateField}]
136
+ # Required. Map of tag template field IDs to the settings for the field.
137
+ # This map is an exhaustive list of the allowed fields. This map must contain
138
+ # at least one field and at most 500 fields.
139
+ #
140
+ # The keys to this map are tag template field IDs. Field IDs can contain
141
+ # letters (both uppercase and lowercase), numbers (0-9) and underscores (_).
142
+ # Field IDs must be at least 1 character long and at most
143
+ # 64 characters long. Field IDs must start with a letter or underscore.
144
+ class TagTemplate
145
+ include Google::Protobuf::MessageExts
146
+ extend Google::Protobuf::MessageExts::ClassMethods
147
+
148
+ # @!attribute [rw] key
149
+ # @return [String]
150
+ # @!attribute [rw] value
151
+ # @return [Google::Cloud::DataCatalog::V1::TagTemplateField]
152
+ class FieldsEntry
153
+ include Google::Protobuf::MessageExts
154
+ extend Google::Protobuf::MessageExts::ClassMethods
155
+ end
156
+ end
157
+
158
+ # The template for an individual field within a tag template.
159
+ # @!attribute [r] name
160
+ # @return [String]
161
+ # Output only. The resource name of the tag template field in URL format. Example:
162
+ #
163
+ # * projects/\\{project_id}/locations/\\{location}/tagTemplates/\\{tag_template}/fields/\\{field}
164
+ #
165
+ # Note that this TagTemplateField may not actually be stored in the location
166
+ # in this name.
167
+ # @!attribute [rw] display_name
168
+ # @return [String]
169
+ # The display name for this field. Defaults to an empty string.
170
+ # @!attribute [rw] type
171
+ # @return [Google::Cloud::DataCatalog::V1::FieldType]
172
+ # Required. The type of value this tag field can contain.
173
+ # @!attribute [rw] is_required
174
+ # @return [Boolean]
175
+ # Whether this is a required field. Defaults to false.
176
+ # @!attribute [rw] order
177
+ # @return [Integer]
178
+ # The order of this field with respect to other fields in this tag
179
+ # template. For example, a higher value can indicate a more important field.
180
+ # The value can be negative. Multiple fields can have the same order, and
181
+ # field orders within a tag do not have to be sequential.
182
+ class TagTemplateField
183
+ include Google::Protobuf::MessageExts
184
+ extend Google::Protobuf::MessageExts::ClassMethods
185
+ end
186
+
187
+ # @!attribute [rw] primitive_type
188
+ # @return [Google::Cloud::DataCatalog::V1::FieldType::PrimitiveType]
189
+ # Represents primitive types - string, bool etc.
190
+ # @!attribute [rw] enum_type
191
+ # @return [Google::Cloud::DataCatalog::V1::FieldType::EnumType]
192
+ # Represents an enum type.
193
+ class FieldType
194
+ include Google::Protobuf::MessageExts
195
+ extend Google::Protobuf::MessageExts::ClassMethods
196
+
197
+ # @!attribute [rw] allowed_values
198
+ # @return [Array<Google::Cloud::DataCatalog::V1::FieldType::EnumType::EnumValue>]
199
+ # Required on create; optional on update. The set of allowed values for
200
+ # this enum. This set must not be empty, the display names of the values in
201
+ # this set must not be empty and the display names of the values must be
202
+ # case-insensitively unique within this set. Currently, enum values can
203
+ # only be added to the list of allowed values. Deletion and renaming of
204
+ # enum values are not supported. Can have up to 500 allowed values.
205
+ class EnumType
206
+ include Google::Protobuf::MessageExts
207
+ extend Google::Protobuf::MessageExts::ClassMethods
208
+
209
+ # @!attribute [rw] display_name
210
+ # @return [String]
211
+ # Required. The display name of the enum value. Must not be an empty string.
212
+ class EnumValue
213
+ include Google::Protobuf::MessageExts
214
+ extend Google::Protobuf::MessageExts::ClassMethods
215
+ end
216
+ end
217
+
218
+ module PrimitiveType
219
+ # This is the default invalid value for a type.
220
+ PRIMITIVE_TYPE_UNSPECIFIED = 0
221
+
222
+ # A double precision number.
223
+ DOUBLE = 1
224
+
225
+ # An UTF-8 string.
226
+ STRING = 2
227
+
228
+ # A boolean value.
229
+ BOOL = 3
230
+
231
+ # A timestamp.
232
+ TIMESTAMP = 4
233
+ end
234
+ end
235
+ end
236
+ end
237
+ end
238
+ end